Anfängerfrage zu php

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

  • Anfängerfrage zu php

    Hallo,

    ich habe eine Frage bezüglich eines Befehls in php.

    Ich habe ein Problem mit meinem email script das ich benutzte.
    Darin kann man mit der angabe von " $redirect " nach erfolgreicher versendung der Email auf eine Seite weitergeleitet werden.

    Nun wäre meine frage, ob es auch einen Befehl gibt, das zu einer Seite weiterleitet, falls fehler beim Ausfüllen des Emailformulars entstanden sind.

    Hier auszüge aus meinem Script:

    ###$redirect###

    PHP-Code:
    $redirect    =    "../danke.htm"// die "danke"-seite, die gezeigt wird, wenn das formular versendet wurde 

    PHP-Code:
    // verschickt das mailformular an ihre email adresse und leitet den user auf die "danke"-seite um
    mail ($email01$subject01$body01"From:$eMail2");
    header ("Location: ".$redirect);
    exit;


    ###FEHLERABFRAGE###

    PHP-Code:
    1. die anrede darf nicht gleich dem gesetzten standardwert "bitte wählen Sie" sein
    if($anrede == "bitte wählen Sie") {
    $stop "stop";
    $stop_message .= "<br>Ihre Anrede fehlt !"// die variable "$stop_message" kann natürlich von ihnen geändert werden 

    Das letztere als die " FEHLERABFRAGE" soll nun wie bei der "Dankeseite" nach der Abfrage im Script auf eine Fehlerseite z.b fehler.htm weitergeleitet werden.


    ----

    Ich hoffe ihr könnt mir behilflich sein. Danke im Vorraus.

    Grüsse aus Mannheim

  • #2
    Herzlich Willkommen in unserem Forum!!
    eine Frage:
    ähm... wo wird nun die fehlerabfrage ein gefügt oder wann und wie soll weitergeleitet werden.
    sorry, aber du musst wissen das ich gerne nochmal nachfrag ;-))
    2 meiner pages:

    Kommentar


    • #3
      Original geschrieben von chrpun
      Herzlich Willkommen in unserem Forum!!
      eine Frage:
      ähm... wo wird nun die fehlerabfrage ein gefügt oder wann und wie soll weitergeleitet werden.
      sorry, aber du musst wissen das ich gerne nochmal nachfrag ;-))
      Hallo chrpun, danke Ich werds mir merken

      Also.. ich poste mal am besten das ganze script...

      PHP-Code:
      <?php

      // allgemeine variablen und format der mail
      /*
      datum (+deutsche Tage) - setzt automatisch das datum und die uhrzeit in die verschickte mail
      diese funktion können sie natürlich entfernen, wenn sie wollen. dann müssen sie nur die erste zeile
      des mailtextes ($body01 und $body02) entsprechend anpassen.*/
      $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"));

      // die variablen der email, die sie erhalten - bitte entsprechend anpassen!
      $redirect "danke.htm"// die "danke"-seite, die gezeigt wird, wenn das formular versendet wurde
      $sender "blabla"// ihr name oder firma (kann natürlich auch ihre web-adresse sein oder sonstwas)
      $email01 "bla@bla.de"// ihre email adresse (an die das formular geschickt wird)
      $subject01 "Nachricht aus Mailformular"// betreff der email, die sie erhalten
      $body01 "Nachricht gesendet am $day$day_num.$month.$year um $time:
      ----------------------------------------------------------------
      Name : 
      $name
      Vorname : 
      $vorname
      Ort : 
      $ort
      eMail : 
      $email
      ----------------------------------------------------------------
      $message";

      // die variablen der bestätigungsmail an den absender - bitte entsprechend anpassen! (nur, wenn diese funktion aktiviert ist)
      $subject02 "Vielen Dank für Ihre Bestellung des Newsletter"// betreff der bestätigungsmail
      $body02 "Am $day$day_num.$month.$year um $time haben wir Ihre Newsletterbestellung mit folgende Daten erhalten:
      -----------------------------------------------------------------------------------
      Name : 
      $name
      Vorname : 
      $vorname
      Ort : 
      $ort
      eMail : 
      $email
      ------------------------------------------------------------------------------------
      //
      $message
      -----------------------------------------------------------------------------------
      Ab sofort erhalten Sie unseren Newsletter.
      Sollte es sich um einen Irrtum handeln, informieren Sie uns bitte unter mailto:
      $email01
      Wenn Sie Ihren Newsletter abbestellen wollen informieren Sie uns bitte unter mailto:
      $email01

      Gruss

      $sender"// das sind sie

      /*/////////////////////////////////////////////////////////////////////////////////////
      ergänzen ode entfernen sie soviele formularfelder, wie sie möchten.
      vergessen sie aber nicht, die formattierung der mail nach diesem schema anzupassen:

      bezeichnung : $variable (diese variable muss natürlich im formular existieren)
      //////////////////////////////////////////////////////////////////////////////////*/



      /* ab hier folgt das handling der pflichtfelder, die auch hier definiert werden.
      die fehlermeldung (wenn pflichtfelder nicht ausgefüllt sind) gibt den text aus,
      der zum einen unter punkt 5. hinter dem "echo" steht und anschliessend den jeweiligen
      text der variablen "$stop_message" (unter 1. - 4. definiert) untereinander
      */

      // 1. die anrede darf nicht gleich dem gesetzten standardwert "bitte wählen Sie" sein
      if($anrede == "bitte wählen Sie") {
      $stop "stop";
      $stop_message .= "<br>Ihre Anrede fehlt !"// die variable "$stop_message" kann natürlich von ihnen geändert werden
      /// 2. der name darf nicht leer sein (muss also ausgefüllt sein)
      if(empty($name)) {
      $stop "stop";
      $stop_message .= "<br><align=center>Ihr Name fehlt !"// die variable "$stop_message" kann natürlich von ihnen geändert werden
      }
      // 3. die email adresse darf nicht leer sein
      if(empty($email)) {
      $stop "stop";
      $stop_message .= "<br><align=center>Ihre eMail Adresse fehlt !"// die variable "$stop_message" kann natürlich von ihnen geändert werden
      }
      // 4. einen text muss der user auch eingeben (schliesslich hat er doch was zu sagen)
      if(empty($message)) {
      $stop "stop";
      $stop_message .= "<br>Bitte geben Sie eine Nachricht ein !"// die variable "$stop_message" kann natürlich von ihnen geändert werden
      // }
      /* das ganze können sie nach folgendem schema weiterführen:
      if(empty($feldname)) {
      $stop = "stop";
      $stop_message .= "<br>text für die fehlermeldung";
      }
      */

      /* 5. hinter dem "echo" steht die erste zeile der fehlermeldung, die ausgegeben wird. natürlich nur, sofern
      ein pflichtfeld nicht ausgefüllt wurde, was zur folge hat, dass die variable "$stop" den wert "stop" erhält
      */
      if ($stop == "stop") {
      echo 
      "<title>cafe17 - Fehlermeldung</title>"// den seitentitel sollten sie auch anpassen
      echo "<body bgcolor=#F9EFD4 >"// sie können diese zeile entfernen, wenn sie das stylesheet nicht nutzen wollen
      echo "<align=center>Sie haben vergessen folgende Felder auszuf&uuml;llen: <br>";
      // 6. und nun folgen die jeweiligen fehlermeldungen ("$stop_message") untereinander
      echo $stop_message;
      // damit der user seinen "fehler" beheben kann folgt nun der "zurück"-Link
      echo "<br><br><a href=\"javascript:history.back()\"><align=center>zur&uuml;ck</a>";
      }
      // wenn aber alle felder richtig ausgefüllt sind dann...
      else {
      // verschickt eine bestätigungsmail an den absender des formulars | entfernen sie das #-zeichen, wenn sie siese funktion nutzen wollen
      mail ($email$subject02$body02"From:$email01");

      // verschickt das mailformular an ihre email adresse und leitet den user auf die "danke"-seite um
      mail ($email01$subject01$body01"From:$email");
      header ("Location:".$redirect);
      exit;
      }

      ?>
      Nun, der teil mit der fehlerabfrage soll nach check beim clicken des "senden" buttons, falls etwas nicht ausgefüllt worden ist, auf z.b die fehler.html weiterleiten.

      Das gleiche prinzip wie bei der danke.htm bloss das dazwischen gecheckt werden soll, ob die felder ausgefüllt sind.


      ---

      Gruss sysz0r

      Kommentar


      • #4
        da müsste doch ein switch weiter helfen

        PHP-Code:
        switch ($error){
          case 
        0:
            
        header ("Location: http://example.com/danke.htm");
            break;
          case 
        1:
            
        header ("Location: http://example.com/fehler.htm");
            break;

        wobei $error jenachdem ob fehler da ist oder nicht 0 oder 1 sein muss
        2 meiner pages:

        Kommentar


        • #5
          wie genau füge ich das den jetzt in mein script ein ?

          Kommentar


          • #6
            also genau da wo du die header haben willst ?!?

            musst vorher nur die $error variable setzen jenachdem wie die aktion ausgegangen ist... dass solltest du noch selber schaffen oder?
            2 meiner pages:

            Kommentar

            Lädt...
            X