Verständnisproblem meinerseits...
Du willst Registrierungsdaten durch mehrere Scripte leiten und erhalten. Das macht man aber eigentlich aus Sicherheitsgründen nicht.
Der Normale Vorgang ist der, dass man Userdaten abfragt, Schritt 1 ist also eine Daten-Abfrage. Erst wenn keine passenden Daten da sind, teilt man das Problem im 2 weitere Schritte auf
- Fehler bei der Eingabe" oder
- Neuregistrierung.
Nach der Neuregistrierung wird einfach wieder auf Schritt 1 (Abfrage) weiter geleitet. Mit den korrekten Daten erfolgt dann das Login.
Zur Frage dirket:
Daten lassen sich über mehrere Scripts komportabel mit Sessions durchreichen. Du fügst deinen Scripten am Anfang einfach folgenden Code hinzu
PHP-Code:
session_start();
Dann kannst du Sessions verwenden und die Variablen in anderen Scripten auslesen und/oder ändern.
Bsp;
Script A
PHP-Code:
session_start();
if(isset($_SESSION['durchgereicht']))
{
echo $_SESSION['durchgereicht'];
}
$_SESSION['druchgereicht'] = 'Dieser Inhalt stammt aus Script A';
Script B
PHP-Code:
session_start();
if(isset($_SESSION['durchgereicht']))
{
echo $_SESSION['durchgereicht'];
}
$_SESSION['druchgereicht'] = 'Dieser Inhalt stammt aus Script B';
Script C
PHP-Code:
session_start();
if(isset($_SESSION['durchgereicht']))
{
echo $_SESSION['durchgereicht'];
}
$_SESSION['druchgereicht'] = 'Dieser Inhalt stammt aus Script c';
Verweist Script C nun wieder auf Script A steht der Inhalt von Script C in der Variablen.
Eine vereinfachte Lösung eines Logins könnte sowas sein:
PHP-Code:
<?php
session_start();
if(isset($_SESSION['erfolg']) AND ($_SESSION['erfolg'] == 1))
{
header("Location: script_b.php");
// oder require_once("script_b.php");
}
elseif(isset($_POST['user']) AND ($_POST['user'] == 'abc'))
{
$_SESSION['erfolg'] = 1;
header("Location: script_b.php");
// oder require_once("script_b.php");
}
elseif(isset($_POST['eintragen']) AND ($_POST['eintragen'] == 1))
{
echo 'trage '.$_POST['user'].' in Datenbank ein';
// Hier Code zum Daten eintragen
// Dann Daten verifizieren
echo '<form method="POST" action="'.$_SERVER['SCRIPT_NAME'].'">
<input type="text" name="user" value="">
<input type="submit" name="suchen" value="Suchen">
</form>';
}
else
{
echo '<form method="POST" action="'.$_SERVER['SCRIPT_NAME'].'">
<input type="text" name="user" value="">
<input type="checkbox" name="eintragen" value="1">Eintragen
<input type="submit" name="suchen" value="Suchen">
</form>';
}
gibst du nicht abc ins Textfeld ein, kommt immer wieder das Formular. Gibst du aber abc ein, wird auf die Datei script_b.php umgeleitet. Solange wie php deine Session aufhebt (das wird in der php.ini festgelegt), wird das Formular nicht wieder abgefragt, auch wenn du die Dateio script_a.php wieder aufrufst.