Probleme beim PHP-Einstieg mit Formularen

push@max

Volt-Modder(in)
Hi Leute, ich fange gerade an, mir PHP beizubringen und arbeite mich gerade durch ein ziemlich gutes Buch für Einsteiger.

Dafür habe ich mir von apache friends xampp runtergeladen...die ersten kleineren php-Geschichten laufen problemlos und lassen sich darstellen.

Nun bin ich bei Formularen angekommen und habe erste kleine Probleme, die ich allerdings nicht lösen kann. Ich möchte über ein Formular einen Vor- und Nachnamen eingeben. Dann klicke auf einen Button "senden" und es soll dann ein Text ausgegeben werden "Sie haben folgende Daten eingegeben...Name und Vorname."

Das Problem liegt nun darin, dass die Platzhalter für den Namen und Vornamen leer bleiben, die Daten also nicht übermittelt werden.
PHP:
<html>
<head>
<?php
   if ($gesendet)
   {
      echo "Sie haben folgenden Namen";
      echo " eingegeben: $vn $nn<p>";
   }
?>
</head>
<body>
Bitte geben Sie einen Namen ein und senden Sie das Formular ab:
<form action = "test.php" method = "post">
    <input name = "nn"> Nachname<p>
    <input name = "vn"> Vorname<p>
    <input type = "submit" name = "gesendet">
    <input type = "reset">
</form>
</body>
</html>
Ich hoffe ihr könnt mir helfen und sagen, woran es liegt :)
 
Also das ist schon eine etwas komplexere Aufgabe...
Du brauchst zwei Dokumente (eine html und eine php Datei)
Ich hab dir mal schnell so was zusammengebastelt da ich jetzt gerade keine zeit für erklärungen habe... (muss ins fitnesscenter :D)

DAS IST FÜR DIE PHP DATEI:
HTML:
<html>
<head>
<title>Test15.php</title>
<meta name="author" content="RProbstAdmin">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<?php

//print_r ($_POST);



  echo("DER NAME IST: ".$_POST[F_ANZ]);

?>

</body>
</html>


DAS IST FÜR DAS HTML DOKUMENT:
HTML:
<html>
<head>
<title>Formular15</title>
<meta name="author" content="RProbstAdmin">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<h1>EASY </h1>

<form action="Test15.php" method="POST" target="">

NAME:  <input type="Text" name="F_ANZ" value="" size="" maxlength="">
<br>

   <br>
   <input type="Submit" name="F_KK" value="abschicken">
   <input type="reset">
</form>


</body>
</html>

bitte vergi mir das aussehen aber ich bin in eile:wall:

aja: warum kann ich hier zur hölle noch mal keine php/html Datein hochladen:wall::wall::wall:

mfg
 
danke erstmal für deine schnelle Antwort :), allerdings funzt das leider auch nicht. Das Ergebnis ist das gleiche, die php-Datei wird aufgerufen, allerdings bleibt die Seite weiss.

Ich hatte das Problem auch, wo ich die Datei in eine html und php gesplittet hatte. Nun bin ich bei dem Kapitel angekommen, wo die Daten zusammenlegt und der php-Teil aus dem html-Teil aufgerufen wird.

Ich habe den Code aus dem Buch abgetippt...das kann nicht sein dass das nicht funzt...muss wohl bei mir am Browser liegen, benutze FireFox 3.
 
Hallo,
natürlich geht das mit einer Datei: (die Datei muss "test.php" heißen)
PHP:
<html>
<head>
<?php
   if ($_POST['gesendet'])
   {
      echo "Sie haben folgenden Namen";
      echo " eingegeben: ".$_POST['vn']." ".$_POST['nn']."<p>";
   }
?>
</head>
<body>
Bitte geben Sie einen Namen ein und senden Sie das Formular ab:
<form action = "test.php" method = "post">
    <input name = "nn"> Nachname<p>
    <input name = "vn"> Vorname<p>
    <input type = "submit" name = "gesendet">
    <input type = "reset">
</form>
</body>
</html>
Du hast den „Fehler“ gemacht in dem du register_globals auf off gesetzt hast, bzw. das Buch dir noch einen alten Programmierstil vermittelt hat. (PHP: Vordefinierte Variablen - Manual)
Ich kann dir Folgendes Online Tutorial empfehlen.
quakenet:#php Tutorial
 
Nice! :daumen:, damit funktioniert die Geschichte einwandfrei!

Danke für den Tipp, damit kann ich jetzt weiterarbeiten, weil ich hatte schon vorher solche Probleme, aber jetzt weiss ich woran es lag :)
 
Also erst mal gut das es jetzt funktioniert :daumen:

Habe gerade noch mal meine Variante ausprobiert (Jetzt habe ich Zeit da ich mich mit der Verfassung meiner Muskeln eh nicht mehr vom PC wegbewegen kann :ugly:) und bei mir hat alles funktioniert...

Die einzige Erklärung wäre für mich, dass du die Datein nicht in das htdocs Verzeichniss von Xampp gelegt hast... (weil dann funktioniert es bei mir auch nicht)

mfg
 
Ich hab die Daten im htdocs befindlichen Ordner xampp liegen...vielleicht liegt es auch daran, werde das mal testen.
 
Die einzige Erklärung wäre für mich, dass du die Datein nicht in das htdocs Verzeichniss von Xampp gelegt hast... (weil dann funktioniert es bei mir auch nicht)

mfg

Das macht auch keinen wirklichen Sinn ;)
Die Datei hat die Endung .php und kann auszerhalb des htdocs Verzeichnisses nicht geoeffnet werden, jedenfalls nicht durch einen Doppelklick.
Da die Alternativloesung mit der "register_globals" Schreibweise funktioniert, muss es an den Apacheeinstellungen liegen. Die ausfuehrliche Schreibweise ist aber schon alleien aus Kopatiblitaetsgruenden zu empfehlen.

Und das das auch mit einer Seite funktioniert, auch ohne ausgelagerte Auswertungsdatei, sollte jedem klar sein. Aufbau -> Oberer Teil Abfrage ob beide Schreibfelder leer sind, wenn ja blende die Ausgabe ein, wenn nicht, dann blende die Textboxen ein. Voila :daumen:
 
Zurück