kontaktformular problem

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

  • kontaktformular problem

    Hallo php-forum!

    Ich bin selber leider nicht sehr gut in sachen php, deswegen hat mir ein Bekannter sein selbst programmiertes Kontaktformular-script zur Verfügung gestellt.

    Ich habe es mal probeweise auf einer testseite untergebracht:
    http://www.same.cavenet.de/moep/kontakt.php

    die mails bekomme ich auch problemlos zugeschickt, jedoch passiert nach dem klicken auf den sende-button etwas seltsames..

    es erscheint eine komische fehlermeldung die der programmierer sich auch nicht erklären kann..ich mir natürlich erst recht nicht..

    könnte jemand eventuell so nett sein und sich meinen quelltext mal eben angucken?

    vielen dank im voraus, grüße, leo.

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>moep</title>
    <link rel="stylesheet" type="text/css" href="stylesheet.css" />
    <link rel="shortcut icon" href="bilder/favicon.ico" />
    </head>
    
    
    <body>
    <div id="page">
    
    <div id="head"></div>
    
    <div id="menu">
    <ul>
    <li><a href="index.html" class="menu">Index</a></li>
    <li><a href="2.html" class="menu">Link 2</a></li>
    <li><a href="3.html" class="menu">Link 3</a></li>
    </ul>
    </div>
    
    <div id="content_head"></div>
    
    <div id="content">
    [PHP]
    <?php
    
    $email = "l.claus@gmx.de";
    
    // Wenn alle Felder ausgefuellt wurden und der Captcha stimmt, wird ein Cookie gesetzt
    
    if($_GET['action'] != "" && !empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']) 
    && ereg ("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-z](
    [-.]?[0-9a-z])*\\.[a-z]{2,3}$", $_POST['email']))
    {
    setcookie("spam_protection", "spam_protection", time()+500);
    }
    
    // Erstellen einer Rechenaufgabe
    
    $Zahl_1 = intval(rand(1, 5));
    $Zahl_2 = intval(rand(1, 5));
    
    ?>
    
    <?php
    
    // Wenn das Formular gesendet werden soll...
    if($_GET['action'] == "send")
    {
    
    // ...der Cookie gegen Spam nicht gesetzt ist...
    if($_COOKIE["spam_protection"] != "spam_protection")
    {
    
    // ... und die Rechenaufgabe FALSCH geloest wurde...
    if($_POST['number'] != md5($_POST['arithmetic']))
    {
    
    // ...dann eine Fehlermeldung ausgeben!
    echo "Die Rechenaufgabe wurde falsch gel&ouml;st!<br/><br/>";
    
    }
    
    // Ansonsten, wenn die Rechenaufgabe RICHTIG geloest wurde stimmt...
    if($_POST['number'] == md5($_POST['arithmetic']))
    {
    
    // ...und die eingegeben E-Mail Adresse in Wahrheit keine ist...
    if(!ereg ("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-z]([-.]?[0-9a-z])*
    \\.[a-z]{2,3}$", $_POST['email']))
    {
    
    // ...dann eine Fehlermeldung ausgeben!
    echo "Die eingegebene E-Mail-Adresse ist ung&uuml;ltig!<br/><br/>";
    
    }
    
    // Ansonsten, wenn die eingegebene E-Mail Adresse auch wirklich eine ist...
    if(ereg ("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $_POST['email']))
    {
    
    // ...und kein Feld leer ist...
    if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']))
    {
    
    // dann den ganzen Muell von Spambots oder auch menschlichen Spammern entfernen...
    $name = nl2br(stripslashes(htmlspecialchars($_POST['name'])));
    $IP = getenv("REMOTE_ADDR");
    
    $absender = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $_POST['email'] );
    $absender = preg_replace( "/(content-type:|bcc:
    |cc:|to:|from:)/im", "", $absender );
    
    $nachricht = nl2br(stripslashes(htmlspecialchars($_POST['message'])));
    
    // ...die Nachricht, die Sie erhalten moechten, wenn eine neue Nachricht an Sie versandt wurde, definieren...
    $mailnachricht = "$nachricht";
    
    // ...an Sie verschicken...
    mail($email, "Nachricht von $name ($IP)", $mailnachricht, "From: $name <$absender>");
    
    // ...und dem Benutzer sagen, dass alles glatt lief!
    echo "Deine Nachricht wurde erfolgreich versendet!<br/><br/>";
    
    }
    
    // Wenn nicht alle Felder ausgefuellt wurden, dann...
    else
    
    {
    
    // eine Fehlermeldung ausgeben!
    echo "Bitte f&uuml;lle alle Felder korrekt aus!";
    
    }
    
    }
    
    }
    
    }
    
    }
    
    ?>
    
    <form id="form" name="form" method="post" action="<?php echo $_SERVER[';PHP_SELF']; ?>?p=contact&amp;action=send">
    <table cellpadding="0" cellspacing="4">
    
    <tr>
    
    <td>Name:</td>
    
    <td align="left">
    
    <input name="name" type="text" id="name" value="<?php echo $_POST['name']; ?>"/></td>
    </tr>
    
    <tr>
    
    <td>eMail:</td>
    
    <td align="left">
    
    <input name="email" type="text" id="email" value="<?php echo $_POST['email']; ?>"/></td>
    </tr>
    
    <tr>
    
    <td valign="top">Nachricht:     </td>
    
    <td align="left">
    
    <textarea name="message" id="message" cols="35" rows="7"><?php echo $_POST['message']; ?></textarea></td>
    
    
    </tr>
    
    <tr>
    
    <td>
    
    <?php echo $Zahl_1; ?> + <?php echo $Zahl_2; ?> = ?
    
    </td>
    
    <td align="left">
    
    <input size="5" name="number" type="hidden" id="number" value="<?php echo md5(( $Zahl_1 + $Zahl_2 )); ?>"/>
    <input size="5" name="arithmetic" type="text" id="arithmetic"/>
    
    </td>
    
    </tr>
    
    <tr>
    
    <td>IP:</td>
    
    <td align="left">
    
    <?php echo $_SERVER['REMOTE_ADDR']; ?></td>
    </tr>
    
    </table>
    
    <?php
    
    // Wenn KEIN Cookie gegen Spam gesetzt wurde, dann soll der "Senden"-Button anklickbar sein
    if($_COOKIE["spam_protection"] != "spam_protection")
    {
    
    ?>
    
    
    <br/><input name="submit" type="submit" id="submit" value="Senden" />
    
    
    <?php
    
    }
    
    // Wenn aber ein Cookie gegen Spam gesetzt wurde, dann soll der "Senden"-Button blockiert werden
    if($_COOKIE["spam_protection"] == "spam_protection")
    {
    
    ?>
    
    
    <br/><input name="submit" type="submit" id="submit" value="Senden" disabled="true" />
    
    
    <?php
    
    }
    
    ?>
    
    </form>[/PHP]
    </div>
    
    <div id="footer">
    <ul>
    <li><a href="1.html" class="footer">Impressum</a> | </li>
    <li><a href="1.html" class="footer">Kontakt</a></li>
    </ul>
    </div>
    
    </div>
    
    
    </body>
    </html>
    Zuletzt geändert von leo_c; 29.10.2007, 11:37.

  • #2
    drei dinge:
    1. regeln beachten und code umbrechen
    2. "komische fehlermeldung" ist keine fehlerbeschreibung. sag, welche fehlermeldung kommt - das hilft ungemein.
    3. frage: hast du nach dieser "komischen fehlermeldung" denn mal gesucht, oder willst du hier bequemerweise dass wir für dich suchen?


    erst wenn die punkte 1-3 zu meiner zufriedenheit geklärt sind, werde ich mal über den code schauen...
    **********
    arkos
    **********

    Kommentar


    • #3
      Original geschrieben von arkos
      drei dinge:
      1. regeln beachten und code umbrechen
      2. "komische fehlermeldung" ist keine fehlerbeschreibung. sag, welche fehlermeldung kommt - das hilft ungemein.
      3. frage: hast du nach dieser "komischen fehlermeldung" denn mal gesucht, oder willst du hier bequemerweise dass wir für dich suchen?


      erst wenn die punkte 1-3 zu meiner zufriedenheit geklärt sind, werde ich mal über den code schauen...
      1. ich hoffe jetzt habe ich alle regeln eingehalten ?!

      2. fehlermeldung:
      Code:
      Warning: Cannot modify header information - 
      headers already sent by (output started at 
      /var/www/web10/html/moep/kontakt.php:12) in 
      /var/www/web10/html/moep/kontakt.php on line 34
      Deine Nachricht wurde erfolgreich versendet!
      3. natürlich habe ich den fehler schon versucht zu suchen, jedoch findet google nichts..

      Kommentar


      • #4
        Sauber, erster Thread direkt in die Hose gegangen.

        diese "komische Fehlermeldung" lautet
        Warning: Cannot modify header information - headers already sent by (output started at /var/www/web10/html/moep/kontakt.php:12) in /var/www/web10/html/moep/kontakt.php on line 34
        und wurde bereits 100.000 mal behandelt. Dann auch noch den passenden sticky Thread zu übersehen ist eine Kunst für sich!

        Problem bitte selber klären...

        Kommentar


        • #5
          3. natürlich habe ich den fehler schon versucht zu suchen, jedoch findet google nichts..
          Diese Behauptung aufzustellen ist ja wohl unerhört!

          Kommentar


          • #6
            Original geschrieben von TobiaZ
            Diese Behauptung aufzustellen ist ja wohl unerhört!
            http://www.google.de/search?hl=de&q=...le-Suche&meta=

            Kommentar


            • #7


              Du erwartest also allen ernstes, dass dein Problem mit den SELBEN Pfadangaben schonmal passiert ist?? ...

              Konntest du deine Suche bitte nochmal auf die eigentliche Fehlermeldung beschränken. Danke!

              Falls das nicht hilft, dann nehm halb o.g. Thread.

              Kommentar


              • #8
                Original geschrieben von TobiaZ


                Du erwartest also allen ernstes, dass dein Problem mit den SELBEN Pfadangaben schonmal passiert ist?? ...

                Konntest du deine Suche bitte nochmal auf die eigentliche Fehlermeldung beschränken. Danke!

                Falls das nicht hilft, dann nehm halb o.g. Thread.
                tut mir leid aber ich habe wirklich 0 ahnung von php..
                woher soll ich denn bitte wissen dass die pfadangaben wichtig sind?
                nornalerweise googlet google auch nach satzteilen -.-

                den sticky hab ich mir jetzt 3mal durchgelesen, verstehe ihn aber immer noch nicht..
                ich finde auch gar kein "head" im phpcode..
                könntest du dir nicht bitte einmal meinen quelltext angucken?

                Kommentar


                • #9
                  ok ok, ein kleiner montags-bonus-neulings-tipp

                  hab hier mal ne google suche für dich. stichwörter hier sind
                  "setcookie" und "header informations already sent"

                  googles ergebnisse


                  wenn das immer noch eine zu hohe kunst is, mach doch n jobangebot raus, und schreib mir ne mail...
                  **********
                  arkos
                  **********

                  Kommentar


                  • #10
                    *projekthilfe*
                    OffTopic:
                    @arkos: da hat jemand notstand?

                    Kommentar


                    • #11
                      Original geschrieben von TobiaZ
                      OffTopic:
                      @arkos: da hat jemand notstand?

                      OffTopic:

                      nein, nicht wirklich ... hab nur schon einen auszug der weichnachts-wunschliste meiner freundin gesehen...

                      **********
                      arkos
                      **********

                      Kommentar

                      Lädt...
                      X