deklarierte Variablen auch in anderen PHP Scripts verfügbar
jonas
- php
0 AllesMeins0 jonas
0 Erik
Hallo,
ich habe folgendes Problem:
ich habe ein Formular in html geschrieben, das username und Passwort
des Benutzers einliest. Mit
$username = $_POST['username'];
$passwort = $_POST['passwort'];
werden die Variablen dann in die Variablen $username und $passwort
übergeben und schließlich im PHP Script weiterverarbeitet.
Nun möchte ich gerne, daß diese Variablen auch in anderen Scripts
zur Verfügung stehen.. aber wenn ich z.b. den Inhalt der Variablen
mit
echo '$username';
ausgeben lassen möchte, so wird nichts ausgegeben, d.h. der Inhalt
der Variablen ist leer!?
Was mache ich falsch?? Ich bitte um euer Rat
Schöne Grüße aus Krefeld
Jonas
Hi,
sorry, ich würde dir ja gerne helfen, aber: HÄ?
Was willst du von wo in welches Script übergeben und wo macht echo $username nichts?
Marc
hallo Marc and @all,
ok ich habe eine datei a.php.. dort steht drin:
<html>
<body>
<form action="a.php" method="post">
Username: <input type="text" name="username"><br>
Passwort: <input type="password" name="passwort"><br>
<input type="submit" value="Anmelden">
</form>
</body>
</html>
<?PHP
$username = $_POST['username'];
$passwort = $_POST['passwort'];
echo $username.'<br>'; // Bis hier klappt alles wie ich will
include 'b.php';
?>
Und in der Datei b.php steht drin:
<?PHP
echo $username;
?>
a.php funktioniert einwandfrei.. aber wenn b.php aufgerufen wird
(z.b. durch include 'b.php'), dann wird nichts ausgegeben!?
was mache ich falsch...bin noch ein PHP Laie..
grüßle jonas
Hi,
Einzelne PHP-Scripte sind erst mal komplett unabhängig voneinander (ausnahme wenn sie per include oder require zusammengeführt wurden). Wenn du also den Benutzernamen auch in b.php verwenden willst, dann musst du irgendwie den Nutzer dazu bringen die benötigten Informationen wieder mitzusenden
Dafür gibt es unzählige Möglichkeiten. Die üblichsten:
Wenn der Nutzer ein Formular ausfüllt:
Du kannst den Benutzername wieder in die Ausgabe schreiben, als sogenanntes "hidden"-Field. Das ist wie ein unsichtbares Textfeld. Wenn der User dieses Formular dann abschickt wird neben den von ihm eingegebenen Informationen auch wieder der Benutzername mitgeschickt, so das b.php ihn auch hat.
Bei Links:
Informationen an den Link anhängen. Also b.php?username=xyz. Auch so hat b.php dann wieder die nötigen Informationen zusammen.
Eine Sonderform dieser beiden Methoden sind die Sessions. dabei werden die eigentlichen Informationen hinter einer SessionID auf dem Server direkt gespeichert. Der Nutzer sendet dann, mit den oben aufgeführten Methoden, nur noch die Session-ID und PHP kann sich dann die Informationen wieder zuordnen und holen. Je nach PHP-Einstellung erledigt PHP unter Umständen das Anhängen der SessionID sogar automatisch, so das du dich darum nicht mehr kümmern musst.
Grüße
Marc
Hallo,
schreib doch mal folgenden Code an den Anfang deiner Scripte:
error_reporting(E_ALL);
Dann fallen dir solche Sachen schneller auf.
Greetz