matse Geschrieben 21. Juli 2010 Geschrieben 21. Juli 2010 (bearbeitet) Hallo an alle! Ich bin ein absoluter Neuling in PHP. Habe aus einem Lehrbuch folgendes Beispiel eingetippt: <?php //Datei: intro/formtest1.php ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv='content-type' content='text/html; charset=ISO-8859-1'> <title>Ein Formular mit PHP</title> </head> <body> <?php // Wenn das Formular abgeschickt wurde, Daten ausgeben if (isset($_POST['Abschicken'])){ printf("<p>Hallo %s %s</p>\n",$_POST['anrede'],$_POST['name']); } ?> <form method='POST' action='formtest1.php'> <select name='anrede'> <option>Frau</option> <option>Herr</option> </select> <input type='text' name='name'> <input type='submit' name='Abschicken' value='Los!'> </form> </body> </html> [/PHP] Hier sollte man seinen Nachnamen eingeben, und nachdem man 'Los!' gedrückt hat, sollte auf dem Bildschirm 'Hallo Herr/Frau Blabla' erscheinen. Nach dem ich die Datei mit Firefox aufmache,steht bei mir auf dem Bildschirm Hallo %s %s \n",$_POST['anrede'],$_POST['name']); } ?> und danach erst die Felder zum Nameneingeben und Abschicken, und nach dem Drücken auf 'Los!' ändert es sich absolut nichts. Was mache ich falsch? Bearbeitet 21. Juli 2010 von matse Zitieren
fisianer2009 Geschrieben 21. Juli 2010 Geschrieben 21. Juli 2010 Hallo an alle! Ich bin ein absoluter Neuling in PHP. Habe aus einem Lehrbuch folgendes Beispiel eingetippt: <?php //Datei: intro/formtest1.php ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv='content-type' content='text/html; charset=ISO-8859-1'> <title>Ein Formular mit PHP</title> </head> <body> <?php // Wenn das Formular abgeschickt wurde, Daten ausgeben if (isset($_POST['Abschicken'])){ ?> <p>Hallo <?php echo $_POST['anrede']; ?> <?php echo $_POST['name']; ?> </p> <?php } ?> <form method='POST' action='formtest1.php'> <select name='anrede'> <option>Frau</option> <option>Herr</option> </select> <input type='text' name='name'> <input type='submit' name='Abschicken' value='Los!'> </form> </body> </html> [/PHP] Hier sollte man seinen Nachnamen eingeben, und nachdem man 'Los!' gedrückt hat, sollte auf dem Bildschirm 'Hallo Herr/Frau Blabla' erscheinen. Das Problem bei mir ist, dass das 'Hallo' schon vom Anfang an auf dem Bildschirm steht, und nach dem Drücken auf 'Los!' sich absolut nichts ändert. Was mache ich falsch? gibt der option mal ein value... und dann mußt du ein if einbauen.. und der grund warum du hallo stehen hast ist einfach: du hast in einem <p> TAG (HTML) ein Hallo hingeschrieben... und mach mal sinnvolle php blöcke... alles was php in einem <?php ?> machen.. und nicht jeden einzelnen befehl... Zitieren
matse Geschrieben 21. Juli 2010 Autor Geschrieben 21. Juli 2010 Ich habe es schon geändert. Siehe oben. Bekomme trotzdem nicht das gewünschte Ergebnis. Zitieren
fisianer2009 Geschrieben 21. Juli 2010 Geschrieben 21. Juli 2010 Hallo an alle! Ich bin ein absoluter Neuling in PHP. Habe aus einem Lehrbuch folgendes Beispiel eingetippt: <?php //Datei: intro/formtest1.php ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv='content-type' content='text/html; charset=ISO-8859-1'> <title>Ein Formular mit PHP</title> </head> <body> <?php // Wenn das Formular abgeschickt wurde, Daten ausgeben if (isset($_POST['Abschicken'])){ printf("<p>Hallo %s %s</p>\n",$_POST['anrede'],$_POST['name']); } ?> <form method='POST' action='formtest1.php'> <select name='anrede'> <option>Frau</option> <option>Herr</option> </select> <input type='text' name='name'> <input type='submit' name='Abschicken' value='Los!'> </form> </body> </html> [/PHP] Hier sollte man seinen Nachnamen eingeben, und nachdem man 'Los!' gedrückt hat, sollte auf dem Bildschirm 'Hallo Herr/Frau Blabla' erscheinen. Nach dem ich die Datei mit Firefox aufmache,steht bei mir auf dem Bildschirm Hallo %s %s \n",$_POST['anrede'],$_POST['name']); } ?> und danach erst die Felder zum Nameneingeben und Abschicken, und nach dem Drücken auf 'Los!' ändert es sich absolut nichts. Was mache ich falsch? ich könnte dir jetzt ein code zeigen der geht, aber ob du dabei was lernst? lern vielleicht erstmal HTML damit du unterscheiden kannst, was was ist... ... ok ich würder erstmal mit echo arbeiten.. Zitieren
matse Geschrieben 21. Juli 2010 Autor Geschrieben 21. Juli 2010 ich könnte dir jetzt ein code zeigen der geht, aber ob du dabei was lernst? lern vielleicht erstmal HTML damit du unterscheiden kannst, was was ist... ... ok ich würder erstmal mit echo arbeiten.. Das Problem ist, das laut dem Lehrbuch sollten die beiden Varianten (auch, wenn sie etwas unübersichtlich sind) reibungslos funktionieren. Wie würde denn die Anweisung mit echo aussehen? Zitieren
fisianer2009 Geschrieben 21. Juli 2010 Geschrieben 21. Juli 2010 (bearbeitet) So der Code geht: <form action=dieses_skript.php method=POST> <select name='anrede'> <option value=frau>Frau</option> <option value=herr>Herr</option> </select> <input type=text name=nachname> <input name=los type=submit value=los!> </form> <?php if (isset($_POST['los'])) { echo "Hallo, "; if ($_POST['anrede'] == "herr") echo "Herr "; else echo "Frau "; echo $_POST['nachname']; } ?> Keine Ahnung, also oft sind in solchen Büchern sehr viele Fehler drin! Aber bekommst du ne Fehlermeldung? dir mal das tutorial von Quakenet an... oder so..recherchiere im Internet, hier gibts viele guten Seiten wo man viel lernen kann vorallem aber: php.net also HaveFun! Bearbeitet 21. Juli 2010 von fisianer2009 Zitieren
matse Geschrieben 21. Juli 2010 Autor Geschrieben 21. Juli 2010 Herzlichen Dank! Ich werde es jetzt ausprobieren! Zitieren
Mike1990 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 (bearbeitet) gibt der option mal ein value... und dann mußt du ein if einbauen.. Wenn man einer Option keine Value zuweist wird als Value das genommen was als Text drinnen steht. Von daher bräuchte man hier keine Value da dort ja schon drinnen steht "Herr" bzw. "Frau". Und die If Abfrage sollte so auch einwandfrei funktionieren. Keine Ahnung, also oft sind in solchen Büchern sehr viele Fehler drin! Das bezweifle ich da ich mal davon ausgehe das es auch jemanden gibt der die Bücher abnimmt und die ja wohl kein Geld für etwas verlangen was nicht funktioniert. Ich nehme an es liegt irgendwie an einer Fehleinstellung des Apache Servers.. Du kannst dir in der Abfrage ob $_POST["abschicken"] gesetzt ist ja auch testweise eine Ausgabe vom Post machen um zu überprüfen ob die Daten überhaupt richtig übermittelt werden. <?php echo "<pre>"; print_r($_POST); echo "</pre>"; ?>[/PHP] Was verwendest du denn für einen Apache Clienten? Bearbeitet 22. Juli 2010 von Mike1990 Zitieren
matse Geschrieben 22. Juli 2010 Autor Geschrieben 22. Juli 2010 Ich bin verzweifelt! Ich habe jetzt folgenden Text in meinem Editor: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv='content-type' content='text/html; charset=ISO-8859-1'> <title>Ein Formular mit PHP</title> </head> <body> <form method=POST action=formtest1.php> <select name='anrede'> <option value=frau>Frau</option> <option value=herr>Herr</option> </select> <input type=text name=nachname> <input type=submit name=Abschicken value='Los!'> </form> <?php // Wenn das Formular abgeschickt wurde, Daten ausgeben if (isset($_POST['Abschicken'])){ echo "Hallo, "; if ($_POST['anrede'] == "herr") echo "Herr "; else echo "Frau "; echo $_POST['nachname']; } ?> </body> </html> [/PHP] Nachdem ich diese Datei mit Firefox geöffnet habe, bekomme ich zwei schöne Felder für die Eingabe und kann dann auf "Los!" drücken. Bekomme dann aber nicht die gewünschte Meldung "Hallo, Herr Sowieso!" Was fehlt denn noch? Zitieren
Mike1990 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 Was bekommst du denn für eine Meldung? Hast du vll. irgendwo die Seite auf einen Server damit wir uns die Ausgabe ansehen können? Zitieren
matse Geschrieben 22. Juli 2010 Autor Geschrieben 22. Juli 2010 Was bekommst du denn für eine Meldung? Gar keine. Die Felder werden einfach geleert. Hast du vll. irgendwo die Seite auf einen Server damit wir uns die Ausgabe ansehen können? Äm... Soweit bin ich noch nicht. Wie bringe ich die auf einen Server? Zitieren
Mike1990 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 Dazu musst du dir Webspace bei einen Anbieter holen der auch PHP unterstützt und dann die Datei per FTP einfach Hochladen und dann die Datei aufrufen. Hier hat man eine gute Auflistung von kostenlosen Webhostern: free PHP web hosting Zitieren
Crash2001 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 Hmmm... also bei mir funktioniert es beides problemlos. Kann dein Webspace denn überhaupt PHP? :confused: mach mal eine Datei phpinfo.php und schreib folgendes rein: <?php phpinfo(); ?> Ruf die dann mal auf und schau, was dir angezeigt wird. Zitieren
Mike1990 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 Die Datei hast du aber schon unter der Endung .php gespeichert oder? Andernfalls kann es nicht funktionieren. Zitieren
_n4p_ Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 hat er, aber vermutlich hat er gar kein webserver sondern tut genau das was er gesagt hat, er öffnet die datei mit firefox. die beschreibung sieht jedenfalls so aus als würde die seite einfach nur angezeigt und nicht interpretiert. darüber hinaus, solltest du dir dringend das einbetten von php in html abgewöhnen, ganz schlechter stil. frag mich wieso das immer noch in büchern beschrieben wird. Zitieren
fisianer2009 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 darüber hinaus, solltest du dir dringend das einbetten von php in html abgewöhnen, ganz schlechter stil. hm, wie macht mans besser? Anonsten @Threadersteller versuchs mal mit xampp Zitieren
_n4p_ Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 stichwort, templates .. haste sicher schon mal gehört ... schon klar zum schnellen "testen" mag sowas ok sein, aber man sollte sich nich dran gewöhnen. leider wird dieses "testen" in einsteiger büchern so auf 800 seiten vorgemacht. Zitieren
fisianer2009 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 ja erstmal kleine Brötchen backen... Zitieren
_n4p_ Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 (bearbeitet) meinste? templates sind nicht sooo schwer. im einfachsten fall hast du ein normales html dokument mit relativ frei wählbaren platzhaltern. die kannst du dann vor der ausgabe mit str_raplace(array('{%blub%}','{%test%}'),array('blah','huhu'),$sHTML); ersetzen und das ganze per echo $sHTML; ausgeben. find ich jetzt nicht unverständlicher als diesen eingebetteten mist. ich meinte nicht das man einen neuling auf den ersten 10 seiten mit smarty-ähnlichen engines erschlagen soll, bei denen schon die entwickler selbst nicht mehr jedes detail verstehen. aber man sollte doch davon absehen ihm zeug beizubringen das so hoffentlich nirgendwo gemacht wird. Bearbeitet 22. Juli 2010 von _n4p_ Zitieren
Crash2001 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 Ansonsten wird auch oft mit includes von Dateien gearbeitet. Ob jetzt dynamische PHP-Dateien oder statische html-Dateien inkludiert werden, ist dabei dann ja egal. Das wird dann mittels der PHP-Funktionen include(), include_once(), require(), und require_once() gemacht. Zitieren
matse Geschrieben 22. Juli 2010 Autor Geschrieben 22. Juli 2010 Danke euch allen. Ich werde mir jetzt ein Webspace einrichten und wahrscheinlich ein anderes Buch aus der Bibliothek holen:rolleyes: Könnt ihr mir was empfelen? Zitieren
Crash2001 Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 Also für den Einstige finde ich "php for dummies" nicht schlecht. DAs ist aber halt eher was, wenn man noch gar keine Ahnung von PHP u.s.w. hat. Ich weiss nicht, inwiefern das bei dir zutrifft oder ob du schon genau weisst, was man unter Variablen, Konstanten, Operatoren und Funktionen zu verstehen hat, sowie wie man diese benutzt. Falls noch nicht, könnte das Buch etwas für dich sein und sollte auch in der Bücherei zu bekommen sein. Und nein, das soll keine Anspielung oder so sein, sondern das Buch gibt es wirklich. Siehe hier. Zitieren
_n4p_ Geschrieben 22. Juli 2010 Geschrieben 22. Juli 2010 hier gibts ein paar: http://forum.fachinformatiker.de/skript-webserverprogrammierung/137289-gute-lietratur-fuer-php-5-anfaenger.html ^^ das ding is halt, das du nicht nach dem ersten buch denken solltest du beherrschst php. wenn du so ein grundlagen buch durchgelesen hast solltest du dir paar kleinere OSS projekte suchen und versuchen den code bzw das system zu verstehen. Zitieren
Toothrot Geschrieben 29. Juli 2010 Geschrieben 29. Juli 2010 Vielleicht bin ich schon zu spät, aber bevor Du Dir Webspace besorgst, könntest Du das ganze auch lokal mit xampp machen. 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.