Ich habe ein Loginscript wo in der login.php die variable $username steht.
Wenn ich jetzt eine neue unabhängige datei erstellen möchte in der ein Banner angezeigt wird mit dem Link www.123.de/ref=$username aus login.php, wie kann ich die $username aus der login.php auf allen anderen Seite einbinden? Ich will ja nicht meine ganze Seite in die Login.php einbauen.
Weiß einer, wie man das hinkriegt? Also dass die ‘.$username.’ aus login auf allen anderen seiten funktioniert? Momentan ist es so, dass wenn ich z.B Hallo ‘$.username.’ in login schreibe, wird Hallo “Peter” ausgegeben. Aber in neueseite.php steht dann nur Hallo ‘$.username.’.
Ich hab schon bei google gesucht aber irgendwie nichts gefunden.
Danke für eure mühe, jedoch ist das alles nicht das was ich brauche.
ich brauch ne art Mitgliederbereich, das die id des users an einen reflink hängt. für ein Paid4 Portal.
Und ich kriegs einfach nicht auf die Reihe >.<
Naja, es gibt ne reihe Dinge, die dort anzuprangern sind. z.B. das ganze Script.
Aber da es ja nur ein „Test“ ist, werde ich da nicht weiter drauf eingehen.
Was dir zu fehlen scheint sind ein paar Kenntnisse der Eigenschaften von HTTP, welche sich auf die Möglichkeiten von PHP niederschlägt.
So ist es Fakt, dass jeder Request, sprich, dass jeder Klick auf einem Link auf einer Seite von jedem vorhergehendem und nachfolgendem Request unabhängig ist. Dies nennt man Zustandslosigkeit.
Das führt dazu, dass Variablen, die in einem PHP Script gesetzt wurden, nach dem aufrufen eines neuen Links (auch wenn der Link zum selben PHP Script führt) wieder zurückgesetzt sind.
Zu wissen wie HTTP funktioniert ist also eine enorme Hilfestellung um mit PHP richtig klar zu kommen.
Um diese Zustandslosigkeit zu umgehen hat man sich etwas ausgedacht.
Die übliche Methode, um Daten über mehrere Seiten verfügbar zu machen ist mit hilfe von „Sessions“.
Die Methodik ist fast immer die selbe. Der Server sendet einen oder mehrere Cookies an den Browser, die in der Regel nur eine (vielleicht zufällig generierte) Session-ID enthält.
Der Browser sendet diesen Cookie dann immer mit beim Besuch der Seiten, und der Server ist somit in der Lage jeden Request einem Satz an Daten, die Serverseitig liegen, anhand der Session-ID eindeutig zuzuordnen.
Das klingt alles ein bisschen kompliziert, aber dafür gibt es von PHP hauseigene Funktionen, die diese Technik für dich übernehmen, die du in dem Link zum Tutorial von zvn findest
Ich hab jetzt mal was versucht.
klappt soweit auch, nur ich bekomme keine aktivierungsmail, woran kann das liegen?
[code]<?
include (“config.inc.php”);
//include die config datei
?>
Registrieren
Username:
Passwort:
Passwort wdh:
E-Mail Adresse:
<?
if (isset($_POST["submit"])){
//wenn submit gedrückt
$username=$_POST["username"];
//speichere das feld username in variable
$passwort=md5($_POST["passwort"]);
//speichere passwort und verschlüssel es
$passwort_wdh=md5($_POST["passwort_wdh"]);
//das gleiche mit der Wiederholung nochmal
$email=$_POST["email"];
//email -||- ^^
$register_code = md5(time());
//erstelle registrierungscode für den aktivierungslink (timestamp it md5 verschlüsselt)
if ($username == “” or $passwort == “d41d8cd98f00b204e9800998ecf8427e” or $email == “”){
echo “Du hast nicht alle Felder ausgefüllt!”;
//wenn username, passwort oder email leer gib error aus
}
elseif ($passwort != $passwort_wdh){
echo “Das eingegebene Passwort stimmt nicht mit der Wiederholung überein!”;
//wenn Passwort nicht gleich Wiederholung gib error aus
}
else {
//sonst…
mysql_query(“INSERT INTO benutzerdaten (username, passwort, email, register_code) VALUES (’$username’, ‘$passwort’, ‘$email’, ‘$register_code’)”);
//speichere die daten in der Datenbank
echo “Du hast dich erfolgreich registriert! Vor wenigen Sekunden wurde eine Mail mit Aktivierungslink an deine E-Mail Adresse gesendet!”;
//und zu guter letzt gib eine meldung aus, dass die registrierung erfolgreich war
}
}
?>
Die E-Mail brauchst du doch sowieso nicht.
Bei dem schwachen Aktivierungslink braucht es nicht mehr als ein paar versuche um sein Konto ohne öffnen der Mail zu aktivieren.
Außerdem sehe ich keinerlei maßnahmen um gegen SQL-Injections und ähnliches vorzugehen…
[quote]Gibt TRUE zurück, wenn die E-Mail erfolgreich für den Versand akzeptiert wurde, sonst FALSE.
Dass eine E-Mail für den Versand akzeptiert wurde, bedeutet nicht, dass sie auch wirklich den gewünschten Empfänger erreichen wird.[/quote]
Das hasse ich ja an diesem Forum: Man Fragt woran das liegt, aber man bekommt nur andere Sachen zu hören. Ich wollte nur wissen, woran es liegt und nichts anderes.