[JavaScript] Anfänger : Fehler-Suche

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Smokers, 21. Juni 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. Juni 2007
    Anfänger : Fehler-Suche

    Mhh also hab gerade son bissl angefangen .. will mir das halt nur mal ansehen .. son bissl.

    Allerdings klappt das folgende Script bisher noch NICHT:
    Ich weis allerdings auch nicht warum nicht... aufgerufen wird die function. das hab ich mit nem test-alert als ersten befehl getestet allerdings wird vom rest nichts ausgeführt.

    Code:
    <html>
    <body>
    
    <script language="JavaScript">
    var formular = document.formular
    var fehler = "Es fehlen folgende Informationen : \n \n"
    
    function pruefen() {
    for (var i=0;i <= formular.elements.length ;i++) {
    if (formular.elements[i].value == "") { alert("???") }
    
    //{ 
    //switch (i) {
    //case 0 : fehler = fehler + "Vorname "
    //case 1 : fehler = fehler + "Nachname "
    //case 2 : fehler = fehler + "Tag " } 
    //}
    }
    
    }
    
    </script>
     
    
    <form action="/blablabla/bla/bla" name="formular" onSubmit="pruefen()">
    
    <input type="Text" name="vname"> <br> 
    <input type="Text" name="nname"> <br> <br>
    <input type="Text" name="tag"> <br> <br>
    
    <input type="Submit" Value="LOS">
    <input type="Reset" Value="Löschen">
    </form>
    
    
    
    
    </body>
    </html>
     
  2. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    würde mal behaupten, dass du auf jeden fall die ";" am ende der Befehle vergessen hast?
     
  3. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Ähm, was hältst du davon mal in die Fehlerkonsole von JS zu schauen, aber ein anderer Tipp, in jeder Sprache muss eine Zeile beendet werden und das passiert in JS nicht mit einem Zeilenumbruch!

    Edit: Oha oha hab ich mich wohl gerirrt, Zeilenumbruch gilt anscheind doch, ich würds aber zur Sicherheit machen auch aus Gründen der Browserkompatibilität.
     
  4. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Laut galileo isses egal:


    ?


    \\\\\\\

    huh ne menge fehler...
     
  5. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    servus smokers^^

    schau mal hier:
    HTML:
    <html>
    <head>
    <script language="javascript">
    <!--
    function checkform(method)
    {
     var form = document.sendform;
     var error = "";
     if(method == 0) {
     if(form.vorname.value == "") error += "vorname ist nicht angegeben!\n";
     if(form.nachname.value == "") error += "nachname ist nicht angegeben\n";
     }
     else { //if(method == 1)
     var f = form.elements;
     for(i=0; i<f.length; i++) {
     var fname = f[i].name;
     if(f[i].value == "") error += fname+" ist nicht angegeben\n";
     }
     }
     if(error !="") alert(error);
     else form.submit();
    }
    //-->
    </script>
    </head>
    <body>
    <form name="sendform" action="auswerten.php" method="post">
     Name: <input type="text" name="vorname" /><br/>
     Nachname: <input type="text" name="nachname" /><br/>
     Ort: <input type="text" name="ort" /><br/>
     <input type="button" value="Einfaches überprüfen von Vor und Nachname" onclick="checkform(0);" /><br/>
     <input type="button" value="Genaues überprüfen aller Felder" onclick="checkform(1);" />
    </form>
    </body>
    </html>
     
  6. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Mhh also doch mit Semikolons etc,was labertn dann der galileo futzi fürne .... -.-''
    ich werd meins nochmal versuchen neu zu schreiben ^^


    cooles script danke murdoc
    aus prinziep nehm ich aba nicht deins =P

    Immerweider du xD =P
     
  7. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Im Endeffekt hat Gallileo ja recht, aber der IE sechs ist das Beste Beispiel dafür, wie verkommen mit dem Quellcode einer Page umgegangen werden kann etc. ... PS, ich würde hier mit return arbeiten, statt wie murdoc es machte. in der onsubmit methode diese funktion in einem return verwenden. Bei return false kommt der fehler und das formular wird nicht abgeschickt, bei return true jedoch wohl.
     
  8. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    also irgendwie geht da immernoch nicht alles.. habs jetzt mal geändert.
    JS funzt
    aba mail komt net an....

    PHP:
    <php
    $empfaenger = "meineaddy@gmx.de";
    $vorname = $_POST['vname'];
    $nachname = $_POST['nname'];
    $absender = "From: ". $_POST['mail'];
    $nachricht = $_POST['nachricht'];
    $inhalt = "Von : " . $vorname . $nachname "\n\n\n Hier die Nachricht:\n" . $nachricht ;

    $betreff = "Anfrage von " . $vorname .$nachname ;

    mail($empfaenger, $betreff, $inhalt, $absender);

    ?>
    <HTML>
    <BODY>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function pruefen(a) {
     var fehler ="Es fehlen folgende Eingaben";

         if (document.formular.vname.value =="") fehler+= "\n- Vorname";
         if (document.formular.nname.value =="") fehler+= "\n- Nachname";
         if (document.formular.mail.value =="") fehler+= "\n- E-Mail";
         if (document.formular.nachricht.value =="") fehler+= "\n- Deine nachricht";
         if (fehler != "Es fehlen folgende Eingaben")
             alert(fehler) ;
         else
             document.formular.submit() ;
         }

    //-->
    </SCRIPT>


    <FORM ACTION="<?php $_SERVER [ 'PHP_SELF' ?>" NAME="formular" ONSUBMIT="pruefen()" method="POST">
    <table>
        <tr>
            <td>Vorname: </td>
                     <td> <INPUT TYPE="Text" NAME="vname"> </td>
             </tr>
             <tr>
                 <td>Nachname: </td>
                     <td><INPUT TYPE="Text" NAME="nname"> </td>
             </tr>
             <tr>
                 <td>E-Mail Adresse: </td>
                     <td><INPUT TYPE="Text" NAME="mail"> </td>
             </tr>
    </table> <br>
    Nachricht: <textarea name="nachricht" cols="50" rows="10"></textarea>
    <br><br>
      <INPUT TYPE="Submit" VALUE="LOS">
      <INPUT TYPE="Reset" VALUE="Löschen">
    </FORM>
    </BODY>
    </HTML>
     
  9. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Gibt die mail funktion true zurück? Dann wird die mail vom MTA zwar angenommen aber nicht weitergeschickt!
    Hat dann nichts mehr mit dem script zu tun, sondern mit den einstellungen des servers!
     
  10. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    aller erste zeile <php != <?php
     
  11. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Ich würd da evt. noch ne Abfrage reinbasteln, ob das Formular überhaupt gesendet wurde.
     
  12. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    ook hab 2 Fehler behoben
    1. das "?" ^^°°°
    2.Zeile 7 fehlte ein String-Connector


    PHP:
    <? php
    $empfaenger 
    "meineaddy@gmx.de" ;
    $vorname  $_POST [ 'vname' ];
    $nachname  $_POST [ 'nname' ];
    $absender  "From: " $_POST [ 'mail' ];
    $nachricht  $_POST [ 'nachricht' ];
    $inhalt  'Von : '  $vorname  . ' '  $nachname  "\n\n\n Hier die Nachricht:\n"  $nachricht  ;

    $betreff  "Anfrage von "  $vorname  . $nachname  ;

    mail ( $empfaenger $betreff $inhalt $absender );

    ?>
    <HTML>
    <BODY>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function pruefen(a) {
     var fehler ="Es fehlen folgende Eingaben";

         if (document.formular.vname.value =="") fehler+= "\n- Vorname";
         if (document.formular.nname.value =="") fehler+= "\n- Nachname";
         if (document.formular.mail.value =="") fehler+= "\n- E-Mail";
         if (document.formular.nachricht.value =="") fehler+= "\n- Deine nachricht";
         if (fehler != "Es fehlen folgende Eingaben")
             alert(fehler) ;
         else
             document.formular.submit() ;
         }

    //-->
    </SCRIPT>


    <FORM ACTION="<?php $_SERVER [ 'PHP_SELF' ?>" NAME="formular" ONSUBMIT="pruefen()" method="POST">
    <table>
        <tr>
            <td>Vorname: </td>
                     <td> <INPUT TYPE="Text" NAME="vname"> </td>
             </tr>
             <tr>
                 <td>Nachname: </td>
                     <td><INPUT TYPE="Text" NAME="nname"> </td>
             </tr>
             <tr>
                 <td>E-Mail Adresse: </td>
                     <td><INPUT TYPE="Text" NAME="mail"> </td>
             </tr>
    </table> <br>
    Nachricht:<br> <textarea name="nachricht" cols="50" rows="10"></textarea>
    <br><br>
      <INPUT TYPE="Submit" VALUE="LOS">
      <INPUT TYPE="Reset" VALUE="Löschen">
    </FORM>
    </BODY>
    </HTML>
    Allerdings fehlt immernoch die mail.. komtm keine an ^^°


    @ telefon :
    die folgt noch

    @makenX:
    Ich hab WIn root, nix mit MTA ^^ (glaub ich :B )
     
  13. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Ja und hast du auf deinem Win Root deinen MTA, dein Mercury, dein Mailserver wie auch immer korrekt eingestellt?
     
  14. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Jo mus richtig configt sein ( MailEnable --> WINDOWS ) ^^
    da nen anderes formular funzt

    Es muss am Quellcode liegen.. ka warum.
     
  15. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Was gibt den die Mailfunktion zurück, denn wenn kein Fehler geworfen wird oder die funtion true zurückgibt, kann es einfach NICHT am script liegen? Haste mal error_reporting(E_ALL) angemacht?
     
  16. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Nein habe ich nicht.
    Wie mach ich das?
    Einfach "error_reporting(E_ALL)" innen quelltext?

    ka was die mailfuntkion zurück gibt.
    Wie stell ich das denn fest? bzw wo bekomme ich den result her?
     
  17. 21. Juni 2007
    AW: Anfänger : Fehler-Suche

    Ja, einfach error_reporting(E_ALL); rein.
    Ich würd mal sagen zB so:

    $Res = mail(...);
    var_dump($Res);





    Anderes Bsp:

    PHP:
    <? php
     
    if( mail (...)) {
      echo 
    'Mail sent.' ;
     }
     else {
     echo 
    'Error.' ;
     }
    ?>
     
  18. 22. Juni 2007
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: Anfänger : Fehler-Suche

    schau mal im maillog nach, so hab ich hier: webserver versendet email nicht. - RR:Board den fehler auch gefunden und behoben.
     
  19. 22. Juni 2007
    AW: Anfänger : Fehler-Suche

    THX murdoc, geht inzwischen alles , bis auf einenen kleinen bug.... ^^°

    PHP:
    <? php
    //error_reporting(E_ALL);
    $empfaenger  "meineaddy@gmx.de" ;
    $vorname  $_POST [ 'vname' ];
    $nachname  $_POST [ 'nname' ];
    $absender  "From: " $_POST [ 'mail' ];
    $nachricht  $_POST [ 'nachricht' ];
    $inhalt  'Von : '  $vorname  . ' '  $nachname  "\n\n\n Hier die Nachricht:\n"  $nachricht  ;

    echo 
    $vname ;
    echo 
    $nname ;
    echo 
    $mail ;

    $betreff  "Anfrage von "  $vorname  . $nachname  ;


    if(
    mail ( $empfaenger $betreff $inhalt $absender )) {
      echo 
    'Die Nachricht wurde übermittelt.' ;
    }
    else {
    echo 
    'Fehler beim senden der Nachricht.' ;
    }


    ?>
    <HTML>
    <BODY>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function pruefen(a) {
     var fehler ="Es fehlen folgende Eingaben";

         if (document.formular.vname.value =="") fehler+= "\n- Vorname";
         if (document.formular.nname.value =="") fehler+= "\n- Nachname";
         if (document.formular.mail.value =="") fehler+= "\n- E-Mail";
         if (document.formular.nachricht.value =="") fehler+= "\n- Deine nachricht";
         if (fehler != "Es fehlen folgende Eingaben")
             alert(fehler) ;
         else
             document.formular.submit() ;
         }

    //-->
    </SCRIPT>


    <FORM ACTION="<?php $_SERVER [ 'PHP_SELF' ?>" NAME="formular" ONSUBMIT="pruefen()" method="POST">
    <table>
        <tr>
            <td>Vorname: </td>
                     <td> <INPUT TYPE="Text" NAME="vname"> </td>
             </tr>
             <tr>
                 <td>Nachname: </td>
                     <td><INPUT TYPE="Text" NAME="nname"> </td>
             </tr>
             <tr>
                 <td>E-Mail Adresse: </td>
                     <td><INPUT TYPE="Text" NAME="mail"> </td>
             </tr>
    </table> <br>
    Nachricht:<br> <textarea name="nachricht" cols="50" rows="10"></textarea>
    <br><br>
      <INPUT TYPE="Submit" VALUE="LOS">
      <INPUT TYPE="Reset" VALUE="Löschen">
    </FORM>
    </BODY>
    </HTML> 
    Das Problembesteht darin das wenn ich die mail.php datei aufrufe , schon eine mailversendet wird.
    Allerings mit leerem Absender und ohne jeglichen Inhalt.
    UND es steht von Anfang an im Quelltetext " Die Mail wurde erfolgreich versendet".
    Dabei soll das ja eigentlich erst nach m Reload da stehen WENN sie auch versandt wurde...

    ???
    ( gerade Fehler 1 ****t mächtig )
     
  20. 22. Juni 2007
    AW: Anfänger : Fehler-Suche

    Wo ist dein Problem? Der Fehler erklaert sich doch von selbst. Du ueberpruefst nicht, ob wirklich eingaben gemacht wurden sondern sendest beim Aufruf des Scripts direkt eine Mail. Sobald du das Formular absendest, rufst du das gleiche Script ja wieder auf nur diesmal mit Daten.

    Entweder du lagerst den PHP-Teil aus in eine andere Datei oder du ueberpruefst von dem Senden, ob Eingaben gemacht wurden.
     
  21. 22. Juni 2007
    AW: Anfänger : Fehler-Suche

    Wie bereits erwähnt wurde, musst du erstmal überprüfen ob ein button gedrückt wurde (dazu muss dieser einen namen bekommen) und eine Überprüfung der Benutzerdaten auf dem Server sollte auch erfolgen, unbedingt sogar!!!!

    PHP:

    <?php
    //error_reporting(E_ALL);

    if (isset( $_POST [ 'submit_mail' ])) {
    $empfaenger  "meineaddy@gmx.de" ;
    $vorname  $_POST [ 'vname' ];
    $nachname  $_POST [ 'nname' ];
    $absender  "From: " $_POST [ 'mail' ];
    $nachricht  $_POST [ 'nachricht' ];
    $inhalt  'Von : '  $vorname  . ' '  $nachname  "\n\n\n Hier die Nachricht:\n"  $nachricht  ;

    echo 
    $vname ;
    echo 
    $nname ;
    echo 
    $mail ;

    $betreff  "Anfrage von "  $vorname  . $nachname  ;


    if(
    mail ( $empfaenger $betreff $inhalt $absender )) {
      echo 
    'Die Nachricht wurde übermittelt.' ;
    }
    else {
    echo 
    'Fehler beim senden der Nachricht.' ;
    }
    }

    ?>
    <HTML>
    <BODY>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function pruefen(a) {
    var fehler ="Es fehlen folgende Eingaben";

         if (document.formular.vname.value =="") fehler+= "\n- Vorname";
         if (document.formular.nname.value =="") fehler+= "\n- Nachname";
         if (document.formular.mail.value =="") fehler+= "\n- E-Mail";
         if (document.formular.nachricht.value =="") fehler+= "\n- Deine nachricht";
         if (fehler != "Es fehlen folgende Eingaben")
             alert(fehler) ;
         else
             document.formular.submit() ;
         }

    //-->
    </SCRIPT>


    <FORM ACTION="<?php $_SERVER [ 'PHP_SELF' ?>" NAME="formular" ONSUBMIT="pruefen()" method="POST">
    <table>
        <tr>
            <td>Vorname: </td>
                     <td> <INPUT TYPE="Text" NAME="vname"> </td>
             </tr>
             <tr>
                 <td>Nachname: </td>
                     <td><INPUT TYPE="Text" NAME="nname"> </td>
             </tr>
             <tr>
                 <td>E-Mail Adresse: </td>
                     <td><INPUT TYPE="Text" NAME="mail"> </td>
             </tr>
    </table> <br>
    Nachricht:<br> <textarea name="nachricht" cols="50" rows="10"></textarea>
    <br><br>
      <INPUT name="submit_mail" TYPE="Submit" VALUE="LOS">
      <INPUT TYPE="Reset" VALUE="Löschen">
    </FORM>
    </BODY>
    </HTML>

     
  22. 22. Juni 2007
    AW: Anfänger : Fehler-Suche

    Sollte man

    echo $vname;
    echo $nname;
    echo $mail;

    nicht lieber in echo $_POST['vname'].... oder echo $vorname ändern?
     
  23. 22. Juni 2007
    AW: Anfänger : Fehler-Suche

    Hi Telefonzelle, du hast mit deinem Ansatz Recht, hatte das SCript auch nicht kontrolliert sondern nur die fehlenden Dinge exemplarische eingefügt, heißt die überprüfung ob der submitgedrückt wurde. Hast natürlich Recht und ich hätte vorher schauen sollen!
     
  24. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.