wannabeapro: Kontajt formular lokal testen

Hallo,

Bitte Entschuldigt meine verscheinlich ziemlich dämliche Frage.

Ich habe ein Kontaktformular geschrieben und dazu ein php Script.

Das Kontakt Formular sendet seine Daten zum PhP Script aber anstatt das dieses die Daten verarbeiten gibt der Browser mir einfach nur den Quelltext an bzw aus.

gibt es da bestimmte Richtlinien die man beachten muss?

MfG
wanna

  1. Hellihello

    Das Kontakt Formular sendet seine Daten zum PhP Script aber anstatt das dieses die Daten verarbeiten gibt der Browser mir einfach nur den Quelltext an bzw aus.

    Das liegt wohl an den Servereinstellunge, dass das Skript nicht "geparst" wird.

    Zu beachten gibt es nicht. var_dump($_POST); sollte dir alle Postvariablen ausgeben, (oder $_GET, wenn method="get");

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
  2. Hallo,
    um dir weiterhelfen zu können wären schon ein paar mehr Angaben gut.

    Welche Testumgebung?
    Welchen Webserver?
    Welche PHP Version?
    usw.

    Vermutlich liegt es nur an der php.ini Einstellung aber um hier näheres zu sagen braucht man mehr Infos.

    gruss
    hawk

    1. Hi

      Ich arbeite auf einen WinXP Rechner habe ein Apache 2.0 Handler  mit PHP Version 5.2.5

      Mfg
      wanna

      1. Hallo,

        Ich arbeite auf einen WinXP Rechner habe ein Apache 2.0 Handler  mit PHP Version 5.2.5

        Gehe ich richtig mit der Annahme du hast das alles selbst installiert und die Php.ini Datei selbst eingerichtet?

        Wie nennt sich denn deine PHP Formulardatei?

        Gruss
        hawk

        1. Installiert ja.
          Ich habe im Internet eben etwas gefunden das man den Mail versand in der ini selbst auch noch configurieren kann.

          Was ist dort den zu beachten? Bzw Welche Parameter darf man ändern um auch nur diesen gewünschten effekt zu erhalten. Das der Mail Versand klapt.

          Mein Formular heißt: Kontakt.html diese sendet daten an test.php

          Bin neue unter den phplern ;D

          und probiere ein wenig Herrum.

          1. Hallo,
            wie soll man dir helfen wenn man dir alles aus der Nase ziehen muss?

            Poste doch mal ein Stück Code.
            Wie wird die "test.php" aufgerufen?

            Ist in der Apache Konfigurationsdatei "httpd.conf" die PHP Dateiendung richtig gesetzt?

            AddType application ...?????

            Gruss
            hawk

            1. Hi,

              Sorry :-/ weiß bloss nicht was da wichtig sein könnte.

              Hier der code:

              <html>
              <head>
              <title>Kontaktformular mit PHP</title>
              </head>
              <body>
              <?php

              if ($Störung=="Drucker Störung") {$Empfänger="mail@bsp.de";}
              if ($Störung=="System Störung") {$Empfänger="mail@bsp.de";}
              if ($Störung=="PC störung") {$Empfänger="mail@bsp.de";}
              if ($Störung=="Wirtschaft") {$Empfänger="mail@bsp.de";}
              if ($Störung=="TelefonFax") {$Empfänger="mail@bsp.de";}
              if ($Störung=="Sonstiges") {$Empfänger="mail@bsp.de";}

              if($_REQUEST['Send'])
              {
                 if(empty($_REQUEST['Name']) || empty($_REQUEST['E-mail']) || empty($_REQUEST['Störung'] || empty($_REQUEST['Telefon']))
                 {
                    echo"Bitte gehen Sie <a href="javascript:history.back();">zurück</a> und füllen Sie alle Felder aus!";
                 }
                 else
                 {
                    $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
                    while(list($Formularfeld, $Wert)=each($_REQUEST))
                    {
                       if($Formularfeld!="Send")
                       {
                          $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
                       }
                    }
                    $Mailnachricht .= "\nDatum/Zeit: ";
                    $Mailnachricht .= date("d.m.Y H:i:s");
                    $Mailbetreff = "Kontakt: ";
                    $Mailbetreff .= $_REQUEST['Störung'];
                    mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
                    echo"Vielen Dank für Ihre eMail!";
                 }
              }
              else
              {
                 echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href="kontaktformular.php">Seite</a>.";
              }

              ?>
              </body>
              </html>

              Code Ende

              Die If bedingungen oben sind dazu gedacht, das für jeden bereich eine eigene E-Mail adresse eingeteilt werden kann und somit die bereiche von verschiedenen personen "Administriert" werden können.

              Und ein Hallo Welt php script funktioniert über den Web server... daher vermute ichmal das die endund richtig gesetzt ist.

              die test.php wird so aufgerufen:

              <form action="test.php" method="post">

              MfG
              wanna

              1. Hallo,

                mach doch einfach mal aus "Kontakt.html" => "kontakt.php" und rufe dann das ganze auf.
                Geht es dann?

                Gruss
                hawk

                1. hi

                  kann ich leider erst morgen wieder testen...

                  melde mich aber dann ob es funktioniert so.

                  Danke an euch beiden.

                  MfG
                  wanna

                  1. Guten Morgen,

                    Auf ein neues :) kurze Zusammen fassung:

                    Der Code des verarbeitungs scripts:

                    <html>
                    <head>
                    <title>Kontaktformular mit PHP</title>
                    </head>
                    <body>
                    <?php

                    if ($Störung=="Drucker Störung") {$Empfänger="mail@bsp.de";}
                    if ($Störung=="System Störung") {$Empfänger="mail@bsp.de";}
                    if ($Störung=="PC störung") {$Empfänger="mail@bsp.de";}
                    if ($Störung=="Wirtschaft") {$Empfänger="mail@bsp.de";}
                    if ($Störung=="TelefonFax") {$Empfänger="mail@bsp.de";}
                    if ($Störung=="Sonstiges") {$Empfänger="mail@bsp.de";}

                    if($_REQUEST['Send'])
                    {
                       if(empty($_REQUEST['Name']) || empty($_REQUEST['E-mail']) || empty($_REQUEST['Störung'] || empty($_REQUEST['Telefon']))
                       {
                          echo"Bitte gehen Sie <a href="javascript:history.back();">zurück</a> und füllen Sie alle Felder aus!";
                       }
                       else
                       {
                          $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
                          while(list($Formularfeld, $Wert)=each($_REQUEST))
                          {
                             if($Formularfeld!="Send")
                             {
                                $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
                             }
                          }
                          $Mailnachricht .= "\nDatum/Zeit: ";
                          $Mailnachricht .= date("d.m.Y H:i:s");
                          $Mailbetreff = "Kontakt: ";
                          $Mailbetreff .= $_REQUEST['Störung'];
                          mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
                          echo"Vielen Dank für Ihre eMail!";
                       }
                    }
                    else
                    {
                       echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href="kontaktformular.php">Seite</a>.";
                    }

                    ?>
                    </body>
                    </html>

                    Code Ende

                    Daten werden übergeben durch:

                    <form action="test.php" method="post">

                    Die Kontakt.html habe ich Umbennant in Kontakt.php und dann folgende Error Message bekommen:

                    Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

                    Fatal error: Unknown: Failed opening required 'C:/xampp/htdocs/störung1.php' (include_path='.;C:\xampp\php\pear') in Unknown on line 0

                    Code von Kontakt.html:

                    <html>
                    <head>
                    <title>Meldeformular</title>
                    <meta name="author" content="russ">
                    </head>
                    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000" topmargin="0" leftmargin="0">

                    <h1>&#160;Störungsmeldung</h1>
                    <p></p>
                    <form action="test.php" method="post">
                     <fieldset>
                              <legend>Absender</legend>
                                     <br>
                                     <table>
                                      <tr>
                                              <th>Name:</th>
                                                     <td>
                           <input name="name" type="text" size="30" maxlength="30">

                    </td>
                                                     <th>Telefon:</th>
                                                     <td>

                    <input name="telefon" type="text" size="30" maxlength="30">

                    </td>
                                             </tr>
                                             <tr>
                                              <th>E-Mail:</th>
                                                     <td>

                    <input name="mail" type="text" size="30" maxlength="30">

                    </td>
                                                     <th>Fiale:</th>
                                                     <td>
                                                      <select name="fiale" size="1">
                                                              <option>Ort</option><option>Ort2</option>

                    </select>
                                                     </td>
                                             </tr>
                                             <tr>
                                              <th>Abteilung:</th>
                                                     <td>
                                                     <select name="abteilung" size="1">
                                                      <option>Abteilung</option><option>Abteilung2</option>
                                                     </select>
                                                     </td>
                                                     <th>Ansprechpartner:</th>
                                                     <td>

                    <input name="partner" type="text" size="30" maxlength="30">

                    </td>
                                             </tr>
                                     </table>
                             </fieldset>

                    <p></p>

                    <fieldset>
                              <legend>Störung</legend>
                                     <br>
                                     <table>
                                      <tr>
                                              <td>

                    <input type="radio" name="Störung" value="Drucker Störung">Druckerstörung
                                                     </td>
                                                     <td>

                    <input type="radio" name="Störung" value="System Störung">System Störung
                                                     </td>
                                                     <td>

                    <input type="radio" name="Störung" value="Hype Archive">Software
                                                     </td>
                                             </tr>
                                             <tr>
                                              <td>
                                                      <input type="radio" name="Störung" value="Compex">Wirtschaft
                                                     </td>
                                                     <td>

                    <input type="radio" name="Störung" value="TelefonFax">Telefon (Fax)
                                                     </td>
                                                     <td>
                                                      <input type="radio" name="Störung" value="Sonstiges">Sonstiges
                                                     </td>
                                             </tr>
                                     </table>
                             </fieldset>

                    <p></p>

                    <fieldset>
                             <legend>Sonstige Informationen</legend>
                             <form action="textarea.htm">
                             <textarea name="sonstige_informationen" cols="75" rows="10"></textarea>
                             </fieldset>
                    <p></p>
                    <input name="Send" type="submit" value="Abschicken">
                    </form>
                    </body>
                    </html>

                    Schon einmal Danke im vorraus.

                    Und sorry fürs doppelposting :-/

                    MfG
                    wanna

                    1. Moin

                      Hat sich erledigt es funktioniert :)

                      Danke noch mal an alle Helfer

                      MfG
                      wanna

                      1. Wäre natürlich auch schön für alle anderen wenn du uns den Grund mitteilen würdest warum es jetzt geht!

                        Gruss
                        hawk

                        1. wenn ich das wüsste wäre ich auch schlauer :-/

                          Möglich wäre das es daran lag das eine Klammer im php script fehlte...

                          groß was anderes habe ich nich getan :)

                          MfG
                          wanna

                    2. Hi,

                      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);

                      Dir ist offenbar nicht klar, welche Folgen so eine Spamschleuder für Dich haben kann. Wenn Du viel Glück hast, sperrt Dein Provider nur die Seite...

                      freundliche Grüße
                      Ingo

                      1. Hallo Ingo

                        Das Formular ist er für ein Intranet gedacht wie für das Internet...

                        Meist du das ist die Gefahr auch so riesig?

                        MfG
                        wanna

                        1. Hi,

                          Das Formular ist er für ein Intranet gedacht wie für das Internet...

                          also für beides?

                          Meist du das ist die Gefahr auch so riesig?

                          wenn nicht vertrauenswürdige Leute es nutzen können: Ja.
                          Stell Dir vor, es werden tausendfach Spams an beliebige Empfänger über dieses Formular versand. Die Folge ist, dass der Mailserver auf eine Blacklist kommt und jeder Mailempfänger, der diese Blacklist nutzt, alle Mails dieses Servers als Spam klassifiziert. Da Du sicher nicht der einzige User dieses Mailservers bist, kannst Du mit Schadenersatzansprüchen der vielen Mitbenutzer rechnen. Dein schlechtes Gewissen kommt vielleicht noch dazu... Denk mal anders herum: Du hast einen Shop auf einem shared Webserver und bist darauf angewiesen, dass Mails auch ankommen. Nun vereitelt das ein Script wie Deines - was würdest Du davon (und von dem Ersteller des Scripts) halten? Ich würde ihm mindestens meine entgangenen Einnahmen in Rechnung stellen.

                          Gute Provider merken sowas allerdings manchmal rechtzeitig vorher und sperren nur die Seite. Aber auch das fändest Du sicher nicht schön, oder?

                          freundliche Grüße
                          Ingo

              2. Hellihello

                du solltest im test.php erstmal nur
                phpinfo(); stehen haben.

                wenn das läuft, dann den rest. angefangen mit dem o.g. var_dump();

                Dank und Gruß,

                frankx

                --
                tryin to multitain  - Globus = Planet != Welt
              3. Hi,

                mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);

                so etwas solltest Du übrigens niemals online stellen.
                Usereingaben können manipuliert werden und außer im dritten Parameter dieser Funktion (bei Dir $Mailnachricht) unerwünschte Daten in den Mail-Header einfügen, wodurch das Formular als Spamschleider genutzt werden kann.

                freundliche Grüße
                Ingo

          2. Mahlzeit,

            Mein Formular heißt: Kontakt.html diese sendet daten an test.php

            Vielleicht solltest Du Dich mal zum Stichwort Affenformular schlau machen - das erleichtert sowohl Konzeption, Entwicklung, Programmierung als auch Fehlersuche und Handling enorm.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  3. Hellihello,

    du musst den apache schon starten. was passiert, wenn du im browser "localhost" eingibst?

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt