Ankündigung

Einklappen
Keine Ankündigung bisher.

Weisse seite nach erfolgreichen absenden

Einklappen

Neue Werbung 2019

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

  • Weisse seite nach erfolgreichen absenden

    Hallo!

    Ich habe folgendes Problem! Wenn man den send button drückt, öffnet sich eine neue seite die bis auf die Meldung das es erfolgreich gesendet wurde, leer ist..

    Hier mal der Code:

    PHP-Code:
    <html>
      <head>
        <title>C</title>
      </head>
      <body>
        <?php
        $Empfaenger 
    "office@t";
        if(
    $_REQUEST['submit']){
          if(empty(
    $_REQUEST['name']) || empty($_REQUEST['email'])
           || empty(
    $_REQUEST['message']) || empty($_REQUEST['subject']))
          {
            echo
    "Bitte gehen Sie <a href=\"javascript:history.back();\">
            zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus"
    ;
          }
          else{
            
    $Mailnachricht="Sie haben eine Anfrage über ihr
            Kontaktformular erhalten:\n\n"
    ;
            while(list(
    $Formularfeld$Wert)=each($_REQUEST))
            {
              if(
    $Formularfeld!="submit")
              {
                
    $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
              }
            }
            
    $Mailnachricht .= "\nDatum/Zeit: ";
            
    $Mailnachricht .= date("d.m.Y H:i:s");
            
    $Mailbetreff "Kontakt: ";
            
    $Mailbetreff .= $_REQUEST['Betreff'];
            
    mail($Empfaenger$Mailbetreff$Mailnachricht"From: "
            
    .$_REQUEST['email']);
            echo 
    "Sie haben folgende E-Mail an den den Administrator versant:        \n".$Mailnachricht;      }
        }
        else
        {
          echo
    "Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese
          <a href=\"kontaktformularverarbeitung.php\">Seite</a>."
    ;
        }
        
    ?>
      </body>
    Da ich ein kompletter noob bin..... Bitte ich u Hilfe!


  • #2
    öffnet sich eine neue seite die bis auf die Meldung das es erfolgreich gesendet wurde, leer ist.
    Und was für eine Ausgabe erwartest Du noch
    Ich mein, Du hast ein leeres Dokument, in dem Du - abhängig von der Fallentscheidung - eine Ausgabe macht und das war's.

    Falls Du meintest, daß die E-Mail nicht versendet wird, könnte das daran liegen, daß Du dem Header ein "From" mitgibst, dieses aber nicht terminierst:
    PHP-Code:
    mail($Empfaenger$Mailbetreff$Mailnachricht"From: " $_REQUEST['email'] . "\r\n"); 
    Davon mal abgesehen verarbeitest Du die Eingaben vom User direkt - ohne Prüfung?!
    Das ist sehr unsicher! Die E-Mail Adresse kannst Du vorher auch auf Gültigkeit prüfen. Dazu findest Du im Netz genügend ein- bis zweizeilige Lösungen.

    Wie sendest Du eigentlich Dein Formular? Get oder Post?
    Anstatt $_REQUEST kannst dann nämlich direkt $_GET bzw. $_POST verwenden.
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Hallo,

      erstmal ein Gute Tipp sonst wird dir hier wohl niemand so wie ich helfen:
      Du solltest deinen Code einrücken, kommentieren und vorallem alles Posten was für die Fehlersuche Relevant ist (z.B. das Formular)!

      Ich habe deinen Code erstmal mit einem Ordentlichen XHTML-Grundgerüst (Standardkonform) ausgestattet und das Error-Reporting in PHP eingeschaltet. Dann habe ich den Kompletten Code eingerückt und nun habe ich den Fehler gefunden:
      Notice: Undefined index: Betreff in C:\Program Files\xampp\htdocs\test.php on line 39
      Ich gehe davon aus das das Feld umbenannt wurde von "Betreff" in "subject"?

      Daher wurde in deinem Script aus der Zeile:
      PHP-Code:
      $Mailbetreff .= $_REQUEST["Betreff"]; 
      die Zeile
      PHP-Code:
      $Mailbetreff .= $_REQUEST["subject"]; 
      Dein Script in der überarbeiteten Version:
      PHP-Code:
      <?php

      // Enable Error-Reporting
      error_reporting(E_ALL|E_NOTICE);
      ini_set('display_errors'1);

      // Output XHTML-Starttag (PHP-Error)
      echo "<?xml version=\"1.0\" ?>";

      ?>
      <!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>
          <title>C</title>
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
      </head>
      <body>

      <?php

      $Empfaenger 
      "office@t";

      if(isset(
      $_REQUEST["submit"])) {
          if(empty(
      $_REQUEST["name"]) || empty($_REQUEST["email"]) || empty($_REQUEST["message"]) || empty($_REQUEST["subject"])) {
              echo 
      "Bitte gehen Sie <a href=\"javascript:history.back();\">zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus.";
          } else {
              
      $Mailnachricht "Sie haben eine Anfrage über ihr Kontaktformular erhalten:\n\n";
              
              while(list(
      $Formularfeld$Wert) = each($_REQUEST)) {
                  if(
      $Formularfeld != "submit") {
                      
      $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
                  }
              }
              
              
      $Mailnachricht .= "\nDatum/Zeit: ";
              
      $Mailnachricht .= date("d.m.Y H:i:s");
              
              
      $Mailbetreff "Kontakt: ";
              
      $Mailbetreff .= $_REQUEST["subject"];
              
              
      $Mail = @mail($Empfaenger$Mailbetreff$Mailnachricht"From: ".$_REQUEST["email"]);
              
              if(
      $Mail === true) {
                  echo 
      "Sie haben folgende E-Mail an den den Administrator versant: \n".$Mailnachricht
              } else {
                  echo 
      "Es ist ein Fehler aufgetreten, die eMail konnte <b>nicht</b> versendet werden. <br />Bitte senden Sie einen eMail &uuml;ber Ihren eMail-Account an: ".$Empfaenger.".";
              }
              
                   
          }
      } else {
          echo 
      "Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontaktformularverarbeitung.php\">Seite</a>.";
      }

      ?>

      </body>
      </html>
      Gruß
      se2bass

      Edit: Davon abgesehen fehlt bei dem Script eine prüfung ob die eMail versendet wurde!
      Edit - 2: Version mit Fehlerprüfung eingefügt!
      Edit - 3: Code geändert, "die" bei der Fehlerprüfung würde zu einem Abbruch führen daher wären Body und HTML-Tag noch offen und die Seite nicht mehr Standardkonform!

      Kommentar


      • #4
        Oh... Da hab ich mich wohl verlaufen?! Wußte nicht, daß das hier die Scriptbörse ist...
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Zitat von Arne Drews Beitrag anzeigen
          Oh... Da hab ich mich wohl verlaufen?! Wußte nicht, daß das hier die Scriptbörse ist...
          Du hast schon recht, aber sei doch mal ehrlich die 5 Minuten wo ich schaue was los ist und das umschriebe sind schneller als wenn ich den Fehler poste und dann kommt und was mache icht jetzt

          Die Aussage:
          Da ich ein kompletter noob bin..... Bitte ich u Hilfe!
          weißt darauf fast hin ...

          Gruß
          se2bass

          Kommentar


          • #6
            Das ist dann aber auch eine Aussage nach dem Motto: ich hab keinen Bock, bin ein Noob, looooos mach MEINE Arbeit, ich hab keine Lust dazu.
            Außerdem lernt man nichts/kaum etwas dabei, wenn man sich alles machen bzw. zeigen lässt.
            "My software never has bugs, it just develops random features."
            "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

            Kommentar

            Lädt...
            X