Immer wieder gerne: Kontaktformular

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

  • Immer wieder gerne: Kontaktformular

    Hallo!

    Ich bin ein absoluter Neuling was PHP und MySQL angeht. Habe im Dezember ein 7tägiges Seminar hinter mich gebracht in dem wir, Informatikkaufleute, einen HTML/PHP/MySQL Crashkurs bekamen. Nun verscuhe ich mir an meiner ersten eigenen Seite mit PHP/HTML und wie zu erwarten klappt nicht alles auf Anhieb

    Zur Zeit hänge ich beim Kontaktformular fest. Irgendwie will das alles noch nicht so recht klappen.

    Die Adresse bislang: http://www.wackeldackel.net/ginger3/index.php?seite=13

    Wenn ich das Kontaktformular ausfülle passiert eigentlich nichts, nur, dass ich halt wieder auf der main.php lande, es werden keine Mails verschickt und ich weiß auch nicht so recht, wie ich es hinbekomme, dass der entsprechende Text, der jetzt bei einer einfach HTML Seite käme angezeigt wird.

    Ich weiß ich drücke mich sehr holperig aus, aber die Literatur, die ich habe ich sehr schlecht (auch wenn Herdt ein Verlag ist, auf den viele Seminarleiter/planer zu schwören scheinen) und ich möchts doch noch lernen

    Ich danke euch schon mal im vorraus für eure Hilfe

    Hier einmal das Script:

    PHP-Code:
    <?php

    function check_email($email//Emailadresse prüfen (Keine Umlaute etc.)
    {

    if( !
    preg_match("/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}|museum$/i"$email) )  
    return 
    true;

    return 
    false;
    }

    // Allgemeine Variablen
    $name_tag[0] = "Sonntag";
    $name_tag[1] = "Montag";
    $name_tag[2] = "Dienstag";
    $name_tag[3] = "Mittwoch";
    $name_tag[4] = "Donnerstag";
    $name_tag[5] = "Freitag";
    $name_tag[6] = "Samstag";
    $num_tag   date"w");
    $day      $name_tag[$num_tag];
    $year      date("Y");
    $day_num   date("d");
    $month      date("m");
    $time      = (date("H:i"));

    $empfaenger "webmaster@wackeldackel.net"//Die eigene emailadresse
    $subject01 "Kontaktformular wurde ausgefüllt"//Der Betreff der Email
    $subject02 "Danke das Sie das Kontaktformular ausgefüllt haben"
    //Betreff der Bestätigungsmail

    if ($flag==1//Wenn das Fromular ausgefüllt wurde.
    {
        
    //Die Eingaben prüfen
        
    if(!$namer){$fehler="Bitte Namen eingeben<br>";}
        if(!
    $vorname){$fehler.="Bitte Vornamen eingeben<br>";}
        if(
    check_email($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br>";}
        if(!
    $email) {$fehler.="Bitte die Emailadresse eingeben<br>";}
        if(!
    $text) {$fehler.="Bitte eine Nachricht eingeben<br>";}

        if(
    $fehler//Bei Fehlern, Meldung ausgeben
        
    {
            
    $meldung="<b>" .$fehler"</b>";
            unset(
    $flag);
            echo 
    "<font color='red'>Es sind folgede Fehler aufgetreten: 
    <br> " 
    .$meldung"</font>";
        }
        else 
    //Wenn es keine Fehler gibt kann ja gemailt werden.
        
    {
          
    //Der Body für die Mail
          
    $body01 "Nachricht gesendet am $day$day_num.$month.$year um $time:
    ----------------------------------------------------------------
    Vorname        : 
    $vorname
    Name           : 
    $namer
    eMail          : 
    $email
    ----------------------------------------------------------------
    Nachricht:
    $text";

           
    //Body für die Bestätigungsmail
           
    $body02 "Am $day$day_num.$month.$year um $time haben wir 
    folgende Nachricht von Ihnen erhalten:
    -----------------------------------------------------------------------------------
    Name           : 
    $namer
    Vorname        : 
    $vorname
    eMail          : 
    $email
    -----------------------------------------------------------------------------------
    Nachricht:
    $text
    -----------------------------------------------------------------------------------
    Ihre Mail wird so schnell wie möglich bearbeitet.
    Bei Fragen schreiben Sie an: mailto:
    $empfaenger";

           
    //Nun kann gemailt werden
           //Erst die Mail an den Webmaster
           
    mail ($empfaenger$subject01$body01"From:$email");
           
    //Dann die Bestätigungsmail
           
    mail ($email$subject02$body02"From:$email");
           echo 
    "Die Mail wurde gesendet.";
        }
    }

    if(!
    $flag//Formular noch nicht abgesendet
    {
            
    ?>
          <form action='<? echo $PHP_SELF; ?>' method='post' enctype='multipart/form-data' 
    name='form' id="form">
              <input type="hidden" name="flag" id="flag" value=1>
            <p align="center">Bitte füllen Sie alles aus<br></p>
            <div align="center">
              <center>
            <table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" 
    style="border-collapse: collapse">
              <tr><td>
                    <table border="0" cellpadding="4">
            <tr>
              <td>Name:</td>
              <td>
                <input name="namer" type="text" id="namer" size="30" 
    value='<?php echo $namer?>'>
                      </td>
            </tr>
            <tr>
              <td>Vorname:</td>
              <td>
                        <input name="vorname" type="text" id="vorname" size="30" 
    value='<?php echo $vorname?>'>
                      </td>
            </tr>
            <tr>
              <td>Emailadresse:</td>
              <td>
                        <input name="email" type="text" id="email" size="30" 
    value='<?php echo $email?>'>
                      </td>
            </tr>
            <tr>
              <td valign="top" class="textb">Nachricht:</td>
                    <td>
                        <textarea name="text" id="text" cols="50" rows="5">
    <?php echo $text?></textarea>
                </td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td><input type="submit" name="Submit" value="Abschicken">
              </td>
            </tr>
        </table>
            </td></tr>
            </table>
              </center>
            </div>
          </form>
          <?php
          
    }
      
    ?>
    Zuletzt geändert von blümli; 08.03.2007, 09:51.

  • #2
    Re: Immer wieder gerne: Kontaktformular

    1. Regeln lesen, Code umbrechen.

    2. Über register_globals=off informieren. (Natürlich nicht auf on stellen, sondern die Werte auf die richtige Weise in Empfang nehmen.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Bin grad dabei den Code umzustellen Ist mir leider selbst erst aufgefallen, als ich schon abgeschickt hatte.

      Wo kann ich mich denn über diese register_globals informieren und was machen die? Und was sind denn die richtigen Werte?
      Zuletzt geändert von blümli; 08.03.2007, 09:51.

      Kommentar


      • #4
        Wo kann ich mich denn über diese register_globals informieren und was machen die?
        hier klicken und den Begriff als Suchbegriff eingeben, oder den Stickythread lesen

        Kommentar


        • #5
          Die Frage aus diesem Post hat sich gerade erledigt. Dann schau ich mal, wie ich das mit den globals hinbekomme.
          Zuletzt geändert von blümli; 08.03.2007, 10:18.

          Kommentar


          • #6
            Off
            register_globals

            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              danke @ peter

              Sowas hatte ich gesucht

              Kommentar


              • #8
                So, r globals sind off und haben tu ich davon nix.

                Weitere Vorschläge?

                Kommentar


                • #9
                  sagt dir $_POST etwas?
                  Die Milch bleibt ranzig!

                  Kommentar


                  • #10
                    Ich habe es in dem Seminar irgendwann mal gehört, aber was es ist kann ich dir nicht sagen, nein...

                    Vielleicht noch dazu... ich habe das Script nicht selbst geschrieben, sondern gegooglet und auf meiner Suche bin ich über eben diesen Beitrag gestolpert klick hier .
                    Da ich in dem Beitrag aber wohl kaum auf Hilfe hoffen kann, habe ich es hier versucht.

                    Kommentar


                    • #11
                      Original geschrieben von blümli
                      Weitere Vorschläge?
                      Hirn einschalten und lesen - die verlinkte Tutorialseite beschreibt doch ganz genau, was zu tun ist.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Hallo? Wollt ihr mir wirklich erzählen, dass ihr nach Stunden der Fehlersuche an ein und dem selben blöden Programm nich auch schon mal den Wald vor Bäumen nicht mehr gesehen habt? Ich finds ja schön, dass ihr alle so "Pro" seid... Ich bin's nicht und ich hätte gerne Hilfe bei meinen ersten Schritten, denn als solche hatte ich dieses Forum eigentlich verstanden.

                        Ich weiß, dass Anfänger einem manchmal tierisch auf den Geist gehen, weil sie dank fehlender Erfahrung die dämlichsten und offensichtlichsten Fragen stellen. Aber aus meiner Erfahrung als Board-Admin in diversen Boards, in denen ich mehr Ahnung vom Thema habe als von PHP, weiß ich, dass diese Anfänger mit der Zeit immer besser wissen wo sie nachschauen können und vorallem wonach sie dort suchen müssen.

                        Es is ja echt toll, dass auf irgendeiner Tutorialseite ganz genau beschrieben steht was zu tun ist, ein Zitathinweis wäre evtl. hilfreicher, als einfach nur der Hinweis auf irgendeinen Link, wo ich dann nicht weiß, meinst du diesen Forenbeitrag, oder die Seite vom Peter Kroff? Und wo steht denn da nun, was ich an dem Script übersehen habe zu ändern etc. ?

                        Mit freundlichem Gruß
                        Blümli
                        Zuletzt geändert von blümli; 08.03.2007, 13:10.

                        Kommentar


                        • #13
                          PHP war ursprünglich konzipiert als eine möglichst einfache Sprache, wo die Einarbeitungszeit sehr gering sein sollte. Darum konnte man auf Variablen, die per GET oder POST übergeben wurden, ganz einfach mit deren Namen plus einem $-Zeichen darauf zugreifen. [...]

                          Durch diverse Sicherheitsrisiken entschloss man sich, diese einfache, aber unsichere Methode abzuklemmen und durch ein anderes "Handling" zu ersetzen. [...]
                          So, und was da zu diesem anderen, neuen "Handling" steht - das lese jetzt bitte noch mal aufmerksam und mit Verstand durch.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            das ist der Text zu den globals, den habe ich mir durchaus schon durchgelesen, da ich Dummkopf schließlich dachte, aus irgndweinem Grund müssen Provider doch auf die Idee kommen die auf onzu schalten und zu irgendwas müssen die ja gut sein.

                            Und welche Stelle im Text sagt mir nun was ich immer noch übersehe, weshalb sich das Kontaktformular online jetzt zwar genauso verhält wie auf dem Rechner, aber immer noch nirgends E-Mails ankommen?

                            Und die Frage miot dem POST ist mir offen gesprochen immer noch schleierhaft...

                            Kommentar


                            • #15
                              Original geschrieben von blümli
                              das ist der Text zu den globals, den habe ich mir durchaus schon durchgelesen, da ich Dummkopf schließlich dachte, aus irgndweinem Grund müssen Provider doch auf die Idee kommen die auf onzu schalten und zu irgendwas müssen die ja gut sein.
                              Sie haben auf off zu stehen, weil on potentiell gefährlich ist (zwar nur bei unsauber geschriebenen Scripten, aber immerhin).

                              Auf on stellt sie ein Provider idR. nur deshalb, weil zu viele Kunden sich sonst beschweren, weil ihre minderwertigen Scripte sonst nicht laufen.
                              Und die Frage miot dem POST ist mir offen gesprochen immer noch schleierhaft...
                              Wenn
                              <input type="text" name="feldname" value="xyz">
                              per POST übergeben wird - dann greifst du in deinem Script nicht (mehr) per $feldname darauf zu, sondern per $_POST['feldname'].

                              Und für Methode GET analog.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X