Vorheriges Thema anzeigen: Nächstes Thema anzeigen: |
 Verfasst am: Sa Jun 19, 2004 13:12 Titel: PHP - formulareingabe in sessionvariable speichern
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 13:12 Titel: PHP - formulareingabe in sessionvariable speichern |
|
|
ich hab eine seite -> login.php.
<?php
session_start();
session_register('name');
session_register('pass');
?>
<html>
<head>
<title>LogIn</title>
</head>
<body>
<p>LOGIN</p>
<form action="welcome.php" method="GET">
<br>Name:<br>
<input type=text name="name" size=35>
<br>Passwort:<br>
<input type=password name="pass" value = "<?=$_session[pass]?>" size=35>
<br><br><br>
<input type=submit name="submit" value = "senden">
</form>
</body>
</html>
in meiner welcome.php ist aber dann der inhalt von $_SESSION['pass'] leer, also es wird beim abschicken offensichtlich nichts in die variable geschrieben.
hab jetzt gut zwei stunden im internet geschmöckert aber alles was man findet sind "all in one" lösungen, sprich eine seite wo formular und überprüfung und auswertung zusammengefasst sind.
sowas will ich nicht & brauch ich auch nicht.
pleaZe Help  |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 20:33 Titel:
| Autor |
Nachricht |
Toby
Anmeldedatum: 08.08.2002 Beiträge: 182
|
Verfasst am: Sa Jun 19, 2004 20:33 Titel: |
|
|
duh ast auch in der 'welcome.php'
wieder deine session via session_start() gestartet, ja ? |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 20:52 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 20:52 Titel: |
|
|
ja.
auch wenn ich dann im verzeichnis sessiondata nachsehe und mir die session im notepad ansehe sind zwar die variablennamen registriert, also vorhanden aber kein wert zugewiesen.
bin echt am verzweifeln. suche nach einer lösung für das problem schon seit heute in der früh ...
##welcome.php##
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Welcome</title>
</head>
<body>
<?PHP
echo "<br>Name: ", $_SESSION['name'];
echo "<br>pass: ", $_SESSION['pass'];
echo "<br>uebertrag: ", $_SESSION['uebertrag'];
?>
</body>
</html> |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 20:55 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 20:55 Titel: |
|
|
hab auch schon geglaubt dass ich da vielleicht nen tippfehler hab:
<input type=password name="pass" value = "<?=$_session[pass]?>" size=35>
und das auf
"<?=$_session['pass']?>" geändert, hilft aber auch nix. |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 21:39 Titel:
| Autor |
Nachricht |
Toby
Anmeldedatum: 08.08.2002 Beiträge: 182
|
Verfasst am: Sa Jun 19, 2004 21:39 Titel: |
|
|
erm ..
du musst die session_variablen auch in der welcome.php setzen!!!!!
du erzeugst sie ja erst bei der übergabe vom skript
also kannst du die variablen auch erst NACH der übergabe registrieren  |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 22:04 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 22:04 Titel: |
|
|
meinst du mit
$_SESSION['pass'] = $_POST['pass'] ;
? |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 22:21 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 22:21 Titel: |
|
|
inzwischen hab ichs endlich zum laufen gebracht.
danke mal vorerst toby! |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 22:26 Titel:
| Autor |
Nachricht |
Toby
Anmeldedatum: 08.08.2002 Beiträge: 182
|
Verfasst am: Sa Jun 19, 2004 22:26 Titel: |
|
|
und mal so nebenbei [hab ich völlig ausser acht gelassen gehabt]
<input type=password name="pass" value = "<?=$_session[pass]?>" size=35> <--
das value=".." zeuchs kannst du in deisem fall getrost aussen vor lassen! das bringt dir überhaupt nichts!
im prinzp brauchst du den kompletten block
| Code: |
<?php
session_start();
session_register('name');
session_register('pass');
?>
|
erst in der welcome.php und vorher nicht! |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 22:31 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 22:31 Titel: |
|
|
so hab ichs jetzt in etwa drinnen.
ahhrrggg... jetzt hab ich im IE die sicherheitsstufe auf HOCH gestellt, sprich cookies deaktiviert und nix geht mehr.
hab i schon gesagt dass ich sessions hasse *lol* |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 22:34 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 22:34 Titel: |
|
|
| ahja und was da jetzt noch dazukommt ist, dass eine zweite session gestartet wird wenn die cookies aus sind. ich werd verrückt |
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 22:54 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 22:54 Titel: |
|
|
hier mal meine 2 php seiten die wunderbar mit cookies funktionieren aber ohne cookies nicht:
## login.php ##
| Code: |
<?php
session_start();
// ---- check ob erstmaliger seitenaufbau oder ob formular abgeschickt wurde - submit button wird überprüft
if(isset($_POST['submit'])){
// ---- eingaben aus header auslesen und in variablen speichern,
// ---- wenn etwas eingegeben wurde datenbank loginvergleiche starten
$name_submitted = $_POST['name'];
$pass_submitted = $_POST['pass'];
if($name_submitted !="" && $pass_submitted !=""){
database_login_check($name_submitted,$pass_submitted);
}else{
echo "<br>Bitte überprüfen Sie Ihre Angaben";
}
}
// ---- funktion verbindet sich später mit datenbank und prüft ob benutzer vorhanden
function database_login_check($name_submitted,$pass_submitted){
session_register('name');
session_register('pass');
$_SESSION['name'] = $name_submitted;
$_SESSION['pass'] = $pass_submitted;
header('Location:eingang.php');
}
?>
<html>
<head>
<title>LogIn</title>
</head>
<body>
<p>LOGIN</p>
<form action="login.php" method="POST">
<br>Name:<br>
<input type=text name="name" size=35>
<br>Passwort:<br>
<input type=password name="pass" size=35>
<br><br><br>
<input type=submit name="submit" value = "senden">
</form>
</body>
</html>
|
## eingang.php ##
| Code: |
<?php
session_start();
echo "Willkommen User <b>".$_SESSION['name']."</b> bei der Session ".session_id();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
</body>
</html>
|
|
|
| Nach oben |
|
 Verfasst am: Sa Jun 19, 2004 23:31 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: Sa Jun 19, 2004 23:31 Titel: |
|
|
cookie problem schon gelöst:
| Code: |
$parse = session_name()."=".session_id();
header('location:eingang.php?'.$parse);
|
somit wird der sessionname und die zugehörige nummer an eingang.php mitgeschickt und die greift dann auch wirklich wieder auf die richtige session zu. warum auch immer ... |
|
| Nach oben |
|
|
|