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

test formular... wth?

Djdomrep

Mitglied
Ich hab mir mal iwo ein php kontaktformular gezogen, nun ich finde nicht raus warum mein browser (google chrome) den folgenden text ausgibt: Notice: Undefined index: Betreff in C:\xampp\htdocs\kontaktformularverarbeitung.php on line 28

ab da is alles ok..

Sie haben folgende E-Mail an den den Administrator gesendet: Sie haben eine Anfrage über ihr Kontaktformular erhalten: name: jkhkj email: [email protected] betreff: Hilfe text: bluobob Datum/Zeit: 12.01.2012 17:57:44

nun die scripte: html datei:
HTML:
<html>  <head>      <title>Einfaches Kontaktformular mit HTML und PHP</title> 
 </head>  <body>      <form action="kontaktformularverarbeitung.php" method="post">
          Name: <input name="name" size="40"/><br />          E-Mail: <input name="email" size="40"/><br />   
       Betreff: <select name="betreff"size="1">              <option>Hilfe</option> 
             <option>Kritik</option>              <option>Linktausch</option>     
         <option>Werbung</option>              <option>Sonstiges</option>          </select><br />   
       Nachricht: <br />          <textarea name="text" cols="50" rows="10"></textarea>          <br />       
   <input name="submit" type="submit" value="absenden"/>      </form>  </body></html>
_______________

PHP:
<html>
  <head>
    <title>Einfaches Kontaktformular mit HTML und PHP</title>
  </head>
  <body>
    <?php
    $Empfaenger = "[email protected]";
    if($_REQUEST['submit']){
      if(empty($_REQUEST['name']) || empty($_REQUEST['email'])
       || empty($_REQUEST['text']))
      {
        echo"Bitte gehen Sie <a href=\"javascript:history.back();\">
        zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus";
      }
      else{
        $Mailnachricht="Sie haben eine Anfrage über ihr
        Kontaktformular erhalten:\n\n";
        while(list($Formularfeld, $Wert)=each($_REQUEST))
        {
          if($Formularfeld!="submit")
          {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
          }
        }
        $Mailnachricht .= "\nDatum/Zeit: ";
        $Mailnachricht .= date("d.m.Y H:i:s");
        $Mailbetreff = "Kontakt: ";
        $Mailbetreff .= $_REQUEST['Betreff'];
        mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: "
        .$_REQUEST['email']);
        echo "Sie haben folgende E-Mail an den den Administrator gesendet:        \n".$Mailnachricht;      }
    }
    else
    {
      echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese
      <a href=\"kontaktformular.php\">Seite</a>.";
    }
    ?>
  </body>
</html>

sry für die design art.. aber ich check die formatierungen oder was auch immer hier im forum noch nicht so ganz
 
Werbung:
hab das grade nochmal gelesen... der sagt ja was von index sei nicht definiert und so... muss ich das irgendwie im php code einfügen?
 
Werbung:
Du versucht auf ein _POST-Element mit dem Key "Betreff" zuzugreifen. In deinem Formular definierst Du aber nur ein Input-Feld, welches als name-Attribut-Wert "betreff" hat. Entweder Du schreibst den name-Attribut-Wert groß oder aber Du greifst auf _POST['betreff'] zu.
 
Werbung:
Problem gelöst, habe die zeile 28:
$Mailbetreff .= $_REQUEST['Betreff'];
entfernt. jetzt kommt die meldung nicht mehr. :D
 
Dann hast Du aber auch keinen Betreff in der E-Mail bzw. steht dann nur "Kontakt: " dort drinne.
 
Werbung:
ich hab das script mal für mich bischen bearbeitet und nun kommt folgender fehler:
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\wsrv.php on line 16

HTML:
<title>Server zusammenstellungs Formular</title>
<form action="wsrv.php" method="post">
<fieldset style="background-color: #808080;">
<legend>Server zusammenstellungs Formular</legend>
Vorname: <input type="text" name="vorname" size="26" /><br />
Nachname: <input type="text" name="nachname" size="25" /><br />
Adresse: <input type="text" name="adresse" size="27"  /><br />
Nr.: <input type="text" name="nr." size="32" /><br />
Ortschaft: <input type="text" name="ortschaft" size="26" /><br />
Bundesland/Kanton: <input type="text" name="kanton" size="16" /><br />
Land: <select name="land">
<option>Deutschland</option>
<option>&Ouml;sterreich</option>
<option>Schweiz</option></select><br />
Email: <input type="text" name="email" size="30" /><br />
Stelle deinen Server zusammen<br />
Speicherplatz: <input type="radio" name="speicher" value="0.5gb" />500MB
<input type="radio" name="speicher" value="1gb" />1GB
<input type="radio" name="speicher" value="2gb" />2GB<input type="radio" name="speicher" value="4gb" />4GB
<input type="radio" name="speicher" value="6gb" />6GB
<input type="radio" name="speicher" value="8gb" />8GB
<input type="radio" name="speicher" value="10gb" />10GB<br />
GB Ram: <input type="radio" name="ram" value="1ram" />1
<input type="radio" name="ram" value="2gb" />2
<input type="radio" name="ram" value="3gb" />3
<input type="radio" name="ram" value="4gb" />4
<input type="radio" name="ram" value="5gb" />5
<input type="radio" name="ram" value="6gb" />6<br />Subdomain: 
<input type="radio" name="subdomain" value="nein" checked="checked" />nein
<input type="radio" name="subdomain" value="ja" />ja<br />
Name der Subdomain:<input type="text" name="domainname" size="15" />.domain.com <br />
Ipv6 aktivieren: <input type="radio" name="ipv6" value="nein" checked="checked" />nein
<input type="radio" name="ipv6" value="ja" />ja
<br /></fieldset>
<br /><br /><input type="submit" value="Bestätigen" /></form>

PHP:
<html>
  <head>
    <title>Server zusammenstellungs Formular</title>
  </head>
  <body>
    <?php
    $Empfaenger = "[email protected]";
    if($_REQUEST['submit']){
      if(empty($_REQUEST['vorname']) || empty($_REQUEST['nachname'])
      || empty($_REQUEST['adresse']) || empty($_REQUEST['nr.'])
      || empty($_REQUEST['ortschaft']) || empty($_REQUEST['kanton'])
      || empty($_REQUEST['land']) || empty($_REQUEST['email'])
      || empty($_REQUEST['speicher']) || empty($_REQUEST['ram'])
      || empty($_REQUEST['subdomain']) || empty($_REQUEST['domainname'])
      || empty($_REQUEST['ipv6'])
      {
        echo"Bitte gehen Sie <a href=\"javascript:history.back();\">
        zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus";
      }
      else{
        $Mailnachricht="Sie haben eine Anfrage über ihr
        Kontaktformular erhalten:\n\n";
        while(list($Formularfeld, $Wert)=each($_REQUEST))
        {
          if($Formularfeld!="submit")
          {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
          }
        }
        $Mailnachricht .= "\nDatum/Zeit: ";
        $Mailnachricht .= date("d.m.Y H:i:s");
        $Mailbetreff = "Kontakt: ";


        mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: "
        .$_REQUEST['email']);
        echo "Sie haben folgende E-Mail an den den Administrator gesendet:        \n".$Mailnachricht;      }
    }
    else
    {
      echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese
      <a href=\"kontaktformular.php\">Seite</a>.";
    }
    ?>
  </body>
</html>

kann mir wer helfen das zu überarbeiten... wird mir zu unübersichtlich auf dem rechner wo ich grade arbeite... 10,1" bildschirm :-?
 
Ich schüttle gerade etwas verwundert meinen Kopf.

Statt den Fehler zu beheben löscht du die fehlerhafte Zeile einfach raus?
Lösch doch den Teil mit der neuen Fehlermeldung auch einfach weg. Auf die Art hast du zum Schluss eine leere Seite vor dir, die 0 Fehler verursacht.....
 
Werbung:
@Sysop
Wer braucht schon einen aussagekräftigen Betreff.
Und diese geschwungenen Klammern kommen mir auch vor, wie zur napoleotanischen Zeit eingeführt. Sieht im Quellcode nicht wirklich zeitgemäss aus. Im übrigen finde ich ein Komma schöner als ein Semikolon.

Und wenn wir schon dabei sind ersetze alle $-Zeichen durch den € , wir sind schliesslich in Europa.

Ach, und wenn der Code immer noch nicht laufen sollte, lerne einfach ein wenig die Regeln zu PHP :mrgreen:
 
JUNGS: postet nächstes liebermal nen link zu nem tutorial oder so anstatt gleich "beleidigend" zu werden
icon_wink.gif

Wir posten permanent links zu Anleitungen, nur werden sie meist nicht gelesen.
Und ich denke wer in einem PHP-Forum fragt kann auch "PHP Anleitung" in eine Suchmaschine eingeben, zudem.
hat mermshaus einen Link zu einem Tutorial gepostet

Etwas Spass wird ja bei einem so trockenen Thema auch mal erlaubt sein, als kleiner Seitenhieb, oder muss man alles immer trocken erklären.
Du hast doch verstanden das man das nicht machen darf, weil es einen bestimmtem Zweck dient, dann ist es doch erreicht. Manchmal erreicht man durch ein wenig Ironie mehr als durch eine ausfühliche Erklärung,weil der Geist sich mehr anstrengt. Bei dir führte es ja sogar zu diesem Post.

Und so oder so leisten wir hier immer Hilfe die, wenn man weiss worum es geht auch zielführend ist. Grundlagen werden wir aber nicht vermitteln.
Und Meermshaus hat auch gesagt dass da eine Klammer vor fehlt.

Also alles gesagt.
 
Werbung:
Zurück
Oben