Variable dauerhaft verfügbar machen

DrBonsai

Mitglied
Hallo allerseits,
ich habe ein kleines Logi-Script geschrieben. Gibt nur ein PW. Also hab ich keine mySQL-DB dahinter.

Und zwar soll das Script einfach die Verbindung zu einer DB aufbauen, wenn das richtige PW eingegeben wurde. Klappt auch theroretisch. Allerdings ist die Verbindung wieder weg, sobald ich auf einen submit-Button klicke.
Das liegt daran, dass meine Variable, die das eingegeben Passwort enthält nicht dauerhaft zur Verfügung steht. -> Sobald ich submitte, ist die Variable leer und die Verbindng zur DB wird nicht geöffnet.

Wie kann ich also dafür sorgen, dass der Inhalt der Variable erhalten bleibt?

Hier mein Code:

login-formular:
HTML:
<form method="POST" action="novo_cliente1.php"> 
<table border="1">
<tr>
	<td>User:</td>	
	<td>Palavra-Passe:</td>
</tr>
<tr>
	<td><input type="text" size="20" name="user"/></td>	
	<td><input type="text" size="20" name="password"/></td>
</tr>
<tr>
	<td colspan = "2" border="0"><input type="submit" value="novo" name="login"/></td>
</tr>
</table>
</form>

novo_cliente1.php:
PHP:
<input type="hidden" value="<?php echo $_POST["password"] ?>" name="password" size="27" />
<?php
$password = $_POST["password"];
if ($password == "primaveira" )
	{
	include "novo_cliente.php";
	}
	else
		{
		echo "O login não teve sucesso. <br/> <a href=login.php>Faça clique aqui, para voltar e tentar outra vez</a>! (login war nicht erfolgreiche ->Link zum Login-Formular)";
		}
?>

Novo cliente.php:
PHP:
<?php //Verbindung zur DB, wenn PW=="primaveira"
if ($password == "primaveira")
	{
	$db_connect=mysql_connect("...");
	$db_select=mysql_select_db("...", $db_connect);
	//echo $password; //funciona
	}
	else
		{
		echo "não há ligação" ;
		}
?>
<form method="POST" action="novo_cliente.php"> 
[...] // Formular, das infos in Variablen umsetzt
</form> 
<?php 
[...] //wenn Submit geklickt wird, dann schreib Variablen-Infos in DB
?>

Ist erkennbar, wo mein Problem liegt?
Nach klicken auf Submit steht die Variable $password (aus dem Feld in login.php) nicht mehr zur Verfügung. Deswegen gibt es keine Verbidnung zur DB.

Kann hier jemand helfen?
mfg,
David
 
Einfach in die Session speichern, dass das Passwort bereits korrekt eingegeben war und dann immer erst auf die Session prüfen bevor du nach dem Passwort fragst.
 
Einfach in die Session speichern, dass das Passwort bereits korrekt eingegeben war und dann immer erst auf die Session prüfen bevor du nach dem Passwort fragst.

Hmm,
gut, aber jetzt werde ich mit jedem PW eingelogt:
login.php
PHP:
<?php
session_start();
	$password = $_POST['password'];
	if ( $password == "primaveira" ) 
		{
		$_SESSION['phplogin'] = true;
		}	
?>
Das steht GANZ am Anfang meines Codes. So muss es doch sein, oder?

Angezeigt werden, soll dann halt das Formular nur, wenn $_SESSION['phplogin'] = true;
Also:
novo_cliente1.php
PHP:
<?php
if ($_SESSION['phplogin'] == true)
	{
	include "novo_cliente.php";
	}
	else
		{
		echo "O login não teve sucesso. <br/> <a href=login.php>Faça clique aqui, para voltar e tentar outra vez</a>!";
		}
?>
Allerdings, wie gesagt, jetzt wird wohl auch $_SESSION['phplogin'] = true; gesetzt, wenn ich ein anderes PW eingebe....

David
 
Ich bion doch auch ein Spack!

hab natürlich den Inhalt von $_SESSION['phplogin'] in der flaschen Datei abgefragt. Mein Formular öffnet ja novo_cliente1.php, also muss auch dort mit der Variablen weiter gearbeitet werden....

Problem gelöst.
Reinhaun,
David
 
Zurück