[php] Auswertung

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

  • [php] Auswertung

    hallo
    ich mache grade eine projektarbeit für die Schule...leider stecke ich
    beim kontaktformular fest.....

    http://home.arcor.de/gravis/form_test.htm


    Ich möchte gerne 2 Funktionen erstellen ... eine die das Formular anzeigt und eine die es verarbeitet.

    Falls beim Verarbeiten ein Fehler auftritt (fehlende Pflichtfelder, falsche Werte, ...) soll in dem Formular eine Fehlermeldung kommen.

    Ist das korrekt eingeben soll das ganze schließlich per email verschickt werden.

    So hab ich die Felder überprüft....

    PHP-Code:
    $nachname=$_POST['nachname'];

    //Formularfelder und Formularinhalte überprüfen

    $zeichen_name="aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZäÄöÖüÜß- ";
    $a=0;
    $b="";
    $laenge=0;

      if (
    $nachname=="") {
        print (
    "<b>Bitte den Nachnamen eingeben</b><br>");
       }
      else {
        
    $laenge=strlen($nachname);
        for (
    $a=0$a<$laenge$a++) {
          
    $b=substr($nachname$a,1);
            if (
    strstr($zeichen_name$b)==false) {
            print (
    "<b>Nachname: Ung&uuml;ltige Zeichen, bitte &uuml;berpr&uuml;fen</b><br>");
                break;
           }
          }
       } 
    Leider bin ich php Anfänger und hab so meine Probleme es wäre nett wenn jemand ich mal meine Quelltexte anschaut und mir helfen könnte.


    danke und gruss im vorraus





    >>>>
    -->> EDIT: Formmailer klappt nun




    Zuletzt geändert von einStein; 05.05.2004, 06:35.

  • #2
    hab ich ins falsche forum gepostet oder weiss keiner rat ??

    Kommentar


    • #3
      vielleicht hat auch keiner mehr lust auf absolut triviale fragen, die immer wieder gestellt werden - und auf die man die antworten anderswo schon finden kann?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4


        aha gut zu wissen, dann schreibt in die foren beschreibung
        KEINE ANFÄNGER ERWÜNSCHT , ONLY PRO'S.

        jeder war mal anfänger auch DU.
        ich war schon auf etlichen seiten, findet man selten gute beispiele für anfänger.

        klar kann zwar verstehn, das sich fragen wiederholen...

        viele lösungen sind sehr komplex und passen nicht auf meinen oben erstellten versuch.


        Das mail versenden klappt ja ...bis auf den zugriff auf die Radiobuttons und die Auswahlbox.

        und solche Beispiele helfen mir nicht wirklich weit....
        sind bestimmt nur kleine zeilen die mir zu lösung verhelfen würden.

        PHP-Code:
        11.9Wie kann man Radio-Buttons verarbeiten?

        $elements = array(
            array(
        'name' => 'grün''value' => 'gr'),
            array(
        'name' => 'blau''value' => 'bl'),
            array(
        'name' => 'rot',  'value' => 'ro')
        );
        foreach (
        $elements as $element) {
            
        printf('<input type="radio" name="farbe" value="%s" %s/> %s<br />',
                
        $element['value'],
                (isset(
        $_REQUEST['farbe']) and $_REQUEST['farbe'] == $element['value']) ? 'checked="checked" ' '',
                
        $element['name']);

        Zuletzt geändert von einStein; 04.05.2004, 23:05.

        Kommentar


        • #5
          Das mail versenden klappt ja ...bis auf den zugriff auf die Radiobuttons und die Auswahlbox.
          machst du
          PHP-Code:
          echo '<pre>';
          print_r ($_POST);
          echo 
          '</pre>'
          läßt dir den gesamten POSt ausgeben, wirst sicher die radio-boxen/select finden ...
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            hmm.... ja dann hab ich aber auch werte der anderen felder.

            PHP-Code:
            <input type=radio name="grund" value="Kontaktieren Sie mich">               
            <
            input type=radio name="grund" value="Erstellen sie mir ein Angebot">  

            da ich den radiobuttons den gleichen value-wert zugewiesen habmüsste ich die doch mit ...

            $grund=$HTTP_POST_VARS['grund']; 
            zugriff auf den inhalt bekommen und ihn dann an mailtext einfügen können.


            ----------------------------------------------


            // EDIT !! hab den fehler gefunden....Radiobutton klappt nun auch.

            >>> jetzt fehlt mir nur das Auswerten der Auswahlbox für die E-MAIL
            Zuletzt geändert von einStein; 05.05.2004, 00:49.

            Kommentar


            • #7
              hmm.... ja dann hab ich aber auch werte der anderen felder.
              es ist ein unterschied zwischen debugging-methoden und code-vorschlägen! des print_r sollst du nur nehmen, um zusehen, was auf der seite im POST ankommt, wegen ansprechen und überprüfen, weißt schon ... dort steht sicher auch der wert aus dem select ...

              und wenn deine php-version nicht uralt ist, nimm doch $_POST anstatt $HTTP_POST_VARS.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                so das kommt dabei raus....

                Code:
                Array
                (
                    [firma] => test1
                    [nachname] => test2
                    [vorname] => test3
                    [strasse] => test4
                    [plz] => test5
                    [ort] => test6
                    [bundesland] => Rheinland-Pfalz
                    [telefon] => test7
                    [fax] => test8
                    [email] => test9
                    [mitteilung] => test0
                    [senden] => Abschicken
                )
                meine php-version ist = php-4.2.1-installer.exe
                und apache = apache-136-win32.exe

                hab mal register globals auf "on" gestellt...

                ist mein php zu alt?

                Kommentar


                • #9
                  hab mal register globals auf "on" gestellt...
                  sofort wieder auf off damit.

                  so das kommt dabei raus....
                  [email] => test9
                  da steht doch der wert von 'email'?

                  meine php-version ist = php-4.2.1-installer.exe
                  ist mein php zu alt?
                  nee, ich glaub die superglobals kamen mit 4.1
                  wenn dir print_r($_POST); etwas ausgibt, sollte $_POST funktionieren
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #10
                    danke
                    konnte nun das feld über $bundesland ansprechen
                    solangsam verstehe ich die Logik .... nun klappt das Mail versenden

                    so kommt die mail bei mir an...

                    Code:
                    Ich möchte gern mehr über Ihre Leistungen erfahren, kontaktieren Sie mich bitte.
                    
                    Firma: Musterfirma AG
                    Name: Muster
                    Vorname: Karl
                    Strasse: Musterstrasse 45
                    Postleitzahl: 66111
                    Ort: Musterstadt
                    Bundesland: Bayern
                    Telefon: 0000-1111
                    Fax: 2222-3333
                    E-Mail-Adresse: [email]xxx@gmx.de[/email]
                    
                    
                    >>>> Anfrage: <<<< 
                    
                    hallo
                    
                    text.... xxxxxx .....
                    
                    MFG
                    Zuletzt geändert von einStein; 05.05.2004, 06:28.

                    Kommentar


                    • #11
                      hallo ich mal wieder

                      Ich habe noch eine kleine frage, ansonsten funktioniert alles wie ich es wollte.

                      Sind fehlerhafte Eingaben gemacht worden --> erscheint eine Fehlerseite, wo der Benutzer bisher mit...

                      PHP-Code:
                      print ("<b><a href=javascript:history.back()> >>> Zur&uuml;ck <<< </a></b>"); 
                      zurück zu seinen Eingaben konnte.

                      Falls jetzt aber JavaScript deaktiviert ist.... klappt dieser "Zurück-Button" nicht mehr.....

                      Gibt es da eine Lösung in php ?

                      Kommentar


                      • #12
                        Nein, da PHP Serverseitig läuft

                        Du könntest aber eventuell eine automatische Weiterleitung per JavaScript machen, und einen ganz normalen Link mit HTML
                        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                        Kommentar


                        • #13
                          hi!

                          mit
                          PHP-Code:
                          header("location: X); 
                          schickst du einen Besucher direkt zu der Seite "X".
                          Um direkt auf die Seite vorher zurück zu Linken sollte
                          $ENV{'HTTP_REFERER'} für X funktionieren?

                          leider gehen dabei die Werte die der User bereits eingegeben hatte verloren :-(

                          x4th

                          Kommentar


                          • #14
                            Eventuell die Seite über site.php?formvar1=value&formvar2=value usw. aufrufen? Dann die Variablen auslesen und als Value angeben..
                            PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                            Kommentar


                            • #15
                              schick die seite an sich selbst, dann hast du da keine probleme mit
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X