• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Session speichern und auslesen

Jeremygolf

Mitglied
Hallo zusammen,

mein Auftrag ist:
- Ein Formular erstellen, das bei Absenden die Daten in eine Session speichert.
- Falls in der Session wsa steht soll das Formular ausgelblendet warden und anstelle die Session Variablen ausgegeben werden.
Mi diesem Code klappt es nicht ganz.

PHP:
<?php
if(isset($_POST["submit"])){
$name = $_POST["name"];
$alter = $_POST["alter"];
 
Session_Start ();
$_SESSION['name'] = $name;
$_SESSION['alter'] = $alter;
}
?>
 
 
<html>
<head>
<title>133-Uebung 17-3 AS V5.0</title>
</head>
<body>
<a href="session2.php">Session 2</a>
<?php if(empty($_SESSION["name"])) {
?>
<form action="">
    Name:<br/>
    <input type="text" name="name" /><br/>
    Alter:<br/>
    <input type="text" name="alter" /><br/>
    <input type="submit" value="Submit" name="submit" />
   
</form>
<?php } else{
echo "Ihr Name ist" . $_SESSION['name'] . "Sie sind" . $_SESSION['alter'] . "Jahre alt.";
}
?>
</body>
</html>
 
mein Auftrag ist:
Was machen wir denn hier? Deine Hausaufgaben oder deinen Job? Allerdings vermute ich, dass es Hausaufgaben sind, denn wir reden hier von Basics.

Richtig debuggen

1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

<edit>
Moment mal, da liegt doch das gleiche Problem vor, wie dir hier schon erklärt wurde: http://www.html.de/threads/cookie-funktioniert-nicht.50206/
Wäre schön, wenn du auch mal alle Antworten richtig liest, die du bekommst!!!
</edit>
 
Was machen wir denn hier? Deine Hausaufgaben oder deinen Job? Allerdings vermute ich, dass es Hausaufgaben sind, denn wir reden hier von Basics.

Richtig debuggen

1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

<edit>
Moment mal, da liegt doch das gleiche Problem vor, wie dir hier schon erklärt wurde: http://www.html.de/threads/cookie-funktioniert-nicht.50206/
Wäre schön, wenn du auch mal alle Antworten richtig liest, die du bekommst!!!
</edit>
Das sind Hausaufagben richtig erkannt. Das hat nicht mit dem vorherigen Problem zu tun.
Das Problem hier ist, dass nichts in die Session geschrieben wird. Ich habe ja ein isset gemacht.
 
PHP:
<?php
if(isset($_POST["submit"])){
$name = $_POST["name"];
$alter = $_POST["alter"];
Session_Start ();
$_SESSION['name'] = $name;
$_SESSION['alter'] = $alter;
}
else {
echo "Wenn ich schon fremde Leute meine Hausaufgaben machen lasse, dann lese ich wenigstens alle Beiträge und schaue, ob vielleicht 2 Probleme die selbe ursache haben."; }

?>

Versuch das mal :)
 
Woraufhin ihm dann der Text im else angezeigt wird. Er den Beitrag von Cheffchen im Thread zu den Cookies liest und sein Problem gelöst ist.
 
Zurück
Oben