Ankündigung

Einklappen
Keine Ankündigung bisher.

undefined index - ohne fehler?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • undefined index - ohne fehler?

    neues problem:

    Notice: Undefined index: vorname in /home/www/htdocs/xn--schengawgale-ncb.de/tsv/angebot/do_anmelden.php on line 107

    PHP-Code:
    <?php
    <td><span <?=$error['vorname']?'class="error"':''?>>Vorname:<?=$error['vorname']?'*':''?></span></td>
                <td><input type="text" name="vorname" size="40" value="<?=$_POST['vorname']?>"></td>
    ?>

    deklaration weiter oben:

    PHP-Code:
    <?php
    $vars 
    = array("vorname","nachname","strasse","hausnummer","plz","ort","vorwahl","telefon","email","kurs","submit");

    foreach(
    $vars as $var) {
      $
    $var = isset($_POST[$var]) ? $_POST[$var]:'';
    }

    $error = array("vorname","nachname","strasse","hausnummer","plz","ort","vorwahl","telefon","email","mitglied");

    $mitglied = isset($_POST['mitglied']) ? $_POST['mitglied']:'';

    if (isset(
    $submit)) {
       
    //vornametest
       
    if ($vorname == ""$error['vorname'] = "Keinen Vornamen angegeben!
    "
    ;
       
    //nametest
       
    if ($nachname == ""$error['nachname'] = "Keinen Nachnamen angegeben!
    "
    ;
       
    //nametest
       
    if ($strasse == ""$error['strasse'] = "Keine Stra&szlig;e angegeben!
    "
    ;
       
    //nametest
       
    if ($hausnummer == "" || ereg("[a-z_A-Z]",$hausnummer)) $error['hausnummer'] = "Keine g&uuml;ltige Hausnummer angegeben!
    "
    ;
       
    //nametest
       
    if ($plz == "" || $plz 1000 || $plz 99998$error['plz'] = "Keine g&uuml;ltige PLZ angegeben!
    "
    ;
       
    //nametest
       
    if ($ort == ""$error['ort'] = "Keinen Wohnort angegeben!
    "
    ;
       
    //nametest
       
    if ($vorwahl == "" || ereg("[a-z_A-Z]",$vorwahl)) $error['vorwahl'] = "Keine g&uuml;ltige Vorwahl angegeben!
    "
    ;
       
    //nametest
       
    if ($telefon == "" || ereg("[a-z_A-Z]",$telefon)) $error['telefon'] = "Keine g&uuml;ltige Telefon-Nummer angegeben!
    "
    ;
       
    //emailtest
       
    if (!eregi("[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})",$email)) $error['email'] = "Keine gültige E-Mail Adresse!
    "
    ;
       
    //mitgliedstest
       
    if ($mitglied == ""$error['mitglied'] = "Es wurde keine Mitglieds-Option ausgewählt";
    }

    if (!
    $error && $submit) {
       
    mail("...");
    } else {
       if(
    $error) { ...
    ?>

    Diese Fehlermeldung kommt für jedes Formular-Element und eine eMail wird nicht versendet!
    (von vorname bis mitglied)

    helft mir!
    ?>[/php]

  • #2
    PHP-Code:
    <?
    $error['vorname'] 
    .
    .
    ?>
    index 'vorname' existiert nicht, was auch der wahrheit entspricht

    Kommentar


    • #3
      danke erstmal clan!

      jetzt schickt mir der "formmailer" aber die mail immer moch nicht!

      wahrscheinliches problem:

      PHP-Code:
      <?php
      if (!$error && $submit) {
         
      mail()
      ?>
      wenn error jetzt leer ist müsste er mir doch eigentlich eine mail schicken, macht er aber nicht!
      da aber error vorher deklariert (s. ganz unten) wurde müsste selbst bei folgender konstellation $error leer sein, wenn alle felder ausgefüllt sind!
      PHP-Code:
      <?php
      if (isset($submit)) {
          
      //vornametest
          
      if ($vorname == ""$error['vorname'] = "Keinen Vornamen angegeben!
      "
      ;
          
      //nametest
          
      if ($nachname == ""$error['nachname'] = "Keinen Nachnamen angegeben!
      "
      ;
          
      //nametest
          
      if ($strasse == ""$error['strasse'] = "Keine Stra&szlig;e angegeben!
      "
      ;
          
      //nametest
          
      if ($hausnummer == "" || ereg("[a-z_A-Z]",$hausnummer)) $error['hausnummer'] = "Keine g&uuml;ltige Hausnummer angegeben!
      "
      ;
          
      //nametest
          
      if ($plz == "" || $plz 1000 || $plz 99998$error['plz'] = "Keine g&uuml;ltige PLZ angegeben!
      "
      ;
          
      //nametest
          
      if ($ort == ""$error['ort'] = "Keinen Wohnort angegeben!
      "
      ;
          
      //nametest
          
      if ($vorwahl == "" || ereg("[a-z_A-Z]",$vorwahl)) $error['vorwahl'] = "Keine g&uuml;ltige Vorwahl angegeben!
      "
      ;
          
      //nametest
          
      if ($telefon == "" || ereg("[a-z_A-Z]",$telefon)) $error['telefon'] = "Keine g&uuml;ltige Telefon-Nummer angegeben!
      "
      ;
          
      //emailtest
          
      if (!eregi("[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})",$email)) $error['email'] = "Keine gültige E-Mail Adresse!
      "
      ;
          
      //mitgliedstest
          
      if ($mitglied == ""$error['mitglied'] = "Es wurde keine Mitglieds-Option ausgewählt";
      }
      ?>



      zu deiner antwort clan:

      aber durch
      PHP-Code:
      <?php
      $error 
      = array("vorname","nachname","strasse","hausnummer","plz","ort","vorwahl","telefon","email","mitglied");
      ?>
      müsste doch error['vorname'] vorhanden sein oder nicht?

      Kommentar


      • #4
        Nein, Deine Definition ist gleichwertig zu $error = array(0=>"vorname",1=>"nachname",2=>"strasse", ...
        Es gibt also $error[0] und der dazugehörige Wert ist 'vorname'.
        Kommst Du von der Perl-Schiene? Da gibt es irgendwie die Möglichkeit name1,wert1,name2,wert2 als Sprachkonstrukt für einen Hash zu schreiben.

        Kommentar


        • #5
          nein, komme nicht von der perl-schiene, trotzdem danke!

          weißt du wie ich das erst genannte problem löse?

          Kommentar


          • #6
            PHP-Code:
            <?php
            $error 
            = array("vorname"=>"","nachname"=>"","strasse"=>"","hausnummer"=>"","plz"=>"","ort"=>"","vorwahl"=>"","telefon"=>"","email"=>"","mitglied"=>""); 
            ?>

            Kommentar


            • #7
              habs so wie due gesagt hab gemacht, dennoch verschickt er keine mail, was soviel heißt, dass

              !$error

              nicht true ist, aber wie soll ich es dann schreiben?

              Kommentar


              • #8
                aber wie soll ich es dann schreiben?
                Naja, es geht auch ohne Array:

                PHP-Code:
                <?php
                $error 
                '';

                if (isset(
                $submit)) { 

                   
                //vornametest 
                   
                if ($vorname == ""$error .= "Keinen Vornamen angegeben!
                "

                   
                //nametest 
                   
                if ($nachname == ""$error .= "Keinen Nachnamen angegeben!
                "

                   
                   
                // etc. ...

                }

                echo 
                $error;

                ?>

                Kommentar

                Lädt...
                X