blumentopfmann Geschrieben 24. Juli 2009 Geschrieben 24. Juli 2009 Hallo Users... ich hab sicherlich nur ein kleines Problem, doch komme ich seit Tagen nicht mehr weiter. Ich möchte eingegebene Daten in einen Formular ausgeben. Meine HTML-Datei (Name = Test.html): <html> <body> <form action="phpprogramm.php" method="POST"> Ihr Name: <input type="text" name="name" /> Ihr Alter: <input type="text" name="alter" /> <input type="submit" value="Abschicken"> </form> </body> </html> Meine PHP-Datei (Name = phpprogramm.php): <html> <body> Hallo <?php echo $name; ?> Sie sind <?php echo $alter; ?> Jahre alt. </body> </html> Ich habe das komplette Paket von Xampp und lasse den MYSQL+Apache Server laufen. In der httpd.config hab ich nur als Directory die Pfad C:\Xampp\htdocs angegeben. Wenn ich das HTML-Formular ausfülle, bekomm ich folgende Ausgabe: Hallo Sie sind Jahre alt. Was mache ich falsch bzw. was habe ich vergessen einzustellen? Zitieren
mustiwebp Geschrieben 24. Juli 2009 Geschrieben 24. Juli 2009 Hi, Mach mal die Semikolon nach der Variable (sprich $name und $alter) weg! Ansonsten stimmt was mit deinem Server nicht! Mit freundlichen Grüßen mustiwebp Zitieren
blumentopfmann Geschrieben 24. Juli 2009 Autor Geschrieben 24. Juli 2009 Hallo mustiwebp, hab die beiden ( ; ) entfernt, Fehler tritt aber leider weiterhin auf. Was kann am Server nicht stimmen? Hab mir schon verschiedene Pakete von Xampp heruntergeladen. Zitieren
mustiwebp Geschrieben 24. Juli 2009 Geschrieben 24. Juli 2009 Hi, Versuch mal anstatt $name und $alter, $_POST['name'] und $_POST['alter'] ! Mit freundlichen Grüßen mustiwebp Zitieren
blumentopfmann Geschrieben 24. Juli 2009 Autor Geschrieben 24. Juli 2009 Hallo, ich hab den Code geändert, aber es hat nix gebracht. Habe es auch mal mit einen anderen Quell-Text probiert, gleiches Problem: <?PHP echo "Sie haben folgende Angaben gemacht:<br>"; echo "Ihr Name: $_POST[name]<br>"; echo "Ihr Alter: $_POST[alter]"; ?> Auf einen "richtigen" Web-Server funktioniert das obige Beispiel ohne Probleme. Ich denke das bei mir was mit den XAMPP nicht stimmt. Habe es schon mit der Lite-Version, Installations-Version Not-Install-Version probiert --> keine Chance. Alle möglichen blockierenden Programme deaktviert --> keine Chance. Den alten Quell-Text genommen und register_globals aktiviert --> keine Chance. Was kann ich noch machen, damit ich endlich mal voran komme? Die HTML überträgt mir einfach nicht meine Eingabe in die PHP-Datei. Vielen Dank im Voraus Zitieren
hscade Geschrieben 25. Juli 2009 Geschrieben 25. Juli 2009 es läuft sicher auch mit xampp, du solltest vielleicht den Cache vom Browser löschen. Zumindest war dies früher bei mir immer der Fehler :< Zitieren
FaustsErbe Geschrieben 25. Juli 2009 Geschrieben 25. Juli 2009 Hey blumentopfmann! Dein Probelm war, dass du nicht richtig abgeschrieben hast Mein Vorredner hat das schon richtig gepostet: POST['name'] und $_POST['alter'] Du musst die Vairablennamen als String übergeben, also die Anführungszeichen nicht vergessen Und so lange register_globals = off ist (Standard), funktioniert deine erste Methode nicht, wenn sie on ist, geht es, ist aber eine Sicherheitslücke. hoffe dir geholfen zu haben Schöne Grüße Zitieren
FaustsErbe Geschrieben 25. Juli 2009 Geschrieben 25. Juli 2009 Achso, das mit den register_globals habe ich gerade überlesen, sorry. Da wüsste ich jedenfalls nicht, woran das liegen kann. Hier nochmal der Code, der eigentlich funktionieren sollt: <?PHP echo "Sie haben folgende Angaben gemacht:<br>"; echo "Ihr Name: " . $_POST['name'] . "<br>"; echo "Ihr Alter: " . $_POST['alter']; ?> Achso, und noch ein Tip: Übergib das ganze doch mal per GET- Methode und schau dir an, ob es in der Adresszeile korrekt übergeben wird. Die Variablen fragst du dann einfach mit $_GET['variable'] ab. Grüße Zitieren
flashpixx Geschrieben 25. Juli 2009 Geschrieben 25. Juli 2009 Man sollte aber generell bei Post und Get Zugriffen vorher prüfen, ob die Variablen gesetzt sind PHP: isset - Manual Phil Zitieren
blumentopfmann Geschrieben 25. Juli 2009 Autor Geschrieben 25. Juli 2009 Hallo... ich habe eine "kleine" Lösung für mein Problem: Wenn ich meine erstellte HTML öffne, kommt: file: ///C:/xampplite/htdocs/Einfaches Programm.html Wenn ich jetzt schreibe: http: //localhost/Einfaches Programm.html geht es und die Daten werden übernommen bzw. übergeben. Was muss ich machen damit "ER" mir gleich das richtige auflöst? P.S. Wenn im Explorer localhost eingebe, kommt gleich http: //localhost/xampp Öffne ich eine beliebige HTML-Datei, ändert er mir das um in FILE: ///... Zitieren
robotto7831a Geschrieben 25. Juli 2009 Geschrieben 25. Juli 2009 Hallo, der Aufruf muss immer über http://locahost/.... erfolgen denn sonst wird der PHP Code nicht geparst. Das Du nach der Eingabe von http://localhost auf http://localhost/xampp landest liegt daran, dass im htdocs Ordner eine entsprechende Umleitung eingetragen ist. Frank Zitieren
FaustsErbe Geschrieben 25. Juli 2009 Geschrieben 25. Juli 2009 Jupp, schließe mich mal meinem Vorredner an. Alle PHP- Dateien zum parsen immer über localhost starten. Noch was anderes: Benutze am besten keine Leerzeichen in Dateinamen. Ich hatte hier und da ein paar Probleme mit sowas. Benutze lieber Unterstriche. Grüße Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.