# Probleme beim PHP-Einstieg mit Formularen



## push@max (19. August 2008)

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.
	
	



```
<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


----------



## Dr-Datenschutz (19. August 2008)

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 )

DAS IST FÜR DIE PHP DATEI:

```
<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>
<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

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

mfg


----------



## push@max (19. August 2008)

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.


----------



## sebastian003 (19. August 2008)

Hallo,
  natürlich geht das mit einer Datei: (die Datei muss "test.php" heißen)

```
<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


----------



## push@max (19. August 2008)

Nice! , 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


----------



## Dr-Datenschutz (19. August 2008)

Also erst mal gut das es jetzt funktioniert 

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 ) 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


----------



## push@max (19. August 2008)

Ich hab die Daten im htdocs befindlichen Ordner xampp liegen...vielleicht liegt es auch daran, werde das mal testen.


----------



## HeNrY (29. August 2008)

du musst aber auch dann über http://localhost bzw. http://127.0.0.1 da ran, nicht vergessen


----------



## dot (29. August 2008)

Dr-Datenschutz schrieb:


> 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


----------



## push@max (29. August 2008)

HeNrY schrieb:


> du musst aber auch dann über http://localhost bzw. http://127.0.0.1 da ran, nicht vergessen



Das hat damals problemlos funktioniert, es lag an einem Quellcode-Fehler.

Kennt jemand vielleicht eine gute Seite für die Programmiersprache Ajax? Soll mich im Betrieb damit einarbeiten...oder könnt ihr mir ein gutes Buch empfehlen?


----------



## k-b (31. August 2008)

Ajax ist keine Programmiersprache sondern im Prinzip nur Javascript mit einem HTTPRequestobjekt das asynchron angesprochen wird. 

Wenn du mal die Javascriptbasics beherrschst, kannst dir das auch wunderbar durch Dynamic AJAX - Interactive Website Programming beibringen.


----------

