Variable mit String-Wert vergleichen??

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich hab den Quellcode nun dementsprechend verändert.

    Quellcode

    1. <html>
    2. <head>
    3. <title>Kontaktformular von test.de</title>
    4. </head>
    5. <body>
    6. <?php
    7. $dummyemail = "unbekannt@test.de";
    8. $Empfaenger = "webmaster@test.de";
    9. if($_REQUEST['Send'])
    10. {
    11. if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Betreff']) || empty($_REQUEST['Nachricht']))
    12. {
    13. echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie mindestens alle Pflichtfelder aus!";
    14. }
    15. else
    16. {
    17. if(strcmp($_REQUEST['Betreffszeile'], 'allgemein'))
    18. $Empfaenger = 'email1@test.de';
    19. if(strcmp($_REQUEST['Betreffszeile'], 'sachlich'))
    20. $Empfaenger = 'email2@test.de';
    21. if(strcmp($_REQUEST['Betreffszeile'], 'zurHP'))
    22. $Empfaenger = 'email3@test.de';
    23. $Mailnachricht = "Nachricht aus Kontaktformular (test.de): \n\n";
    24. while(list($Formularfeld, $Wert)=each($_REQUEST))
    25. {
    26. if($Formularfeld!="Send")
    27. {
    28. $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
    29. }
    30. }
    31. $Mailnachricht .= "\nDatum\Zeit: ";
    32. $Mailnachricht .= date("d.m.Y H:i:s");
    33. $Mailbetreff .= $_REQUEST['Betreff'];
    34. $Mailbetreff = " zur Homepage test.de";
    35. if(empty($_REQUEST['Email'])) //Es wird eine Dummy-Email-Adresse übergeben, falls Formularfeld leer
    36. {
    37. mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ". $dummyemail);
    38. }
    39. else
    40. {
    41. mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
    42. }
    43. echo "Vielen Dank für Ihre eMail! <br><br>";
    44. echo "Wir werden uns baldmöglichst darum kümmern, ihr Webmaster";
    45. }
    46. }
    47. else
    48. {
    49. echo "Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.htm\">Seite</a>.";
    50. }
    51. ?>
    52. </body>
    53. </html>
    Alles anzeigen

    Wenn ich alles eingebe, und auf abschicken geh, bringt er mir die Meldung. Bitte gehen Sie zurück und ...... WARUM??

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von robert712 ()

  • Bitteschön: Das Formular:

    Quellcode

    1. <!-- Kontaktformular -->
    2. <h3>
    3. <table border="0" cellpadding="1" cellspacing="2">
    4. <form action="kontaktformular-auswerten.php" method="post">
    5. <tr>
    6. <td>Anrede</td>
    7. <td>Herr<input name="Anrede" checked type="radio" value="Herr">
    8. &nbsp;&nbsp; Frau<input name="Anrede" type="radio" value="Frau"></td>
    9. </tr>
    10. <tr>
    11. <td>Name:*</td>
    12. <td><input name="Name" size="20" type="text"></td>
    13. </tr>
    14. <tr>
    15. <td>eMail:*</td>
    16. <td><input name="Email" size="20" type="text"></td>
    17. </tr>
    18. <tr>
    19. <td>ICQ:</td>
    20. <td><input name="ICQ1" size="3" type="text">
    21. -<input name="ICQ2" size="3" type="text">
    22. -<input name="ICQ3" size="3" type="text"></td>
    23. </tr>
    24. <tr>
    25. <td>URL:</td>
    26. <td><input name="URL" size="20" type="text"></td>
    27. </tr>
    28. <tr>
    29. <td>Betreff:*</td>
    30. <td><select name="Betreffszeile" size="1"><option>&nbsp;</option><option value="allgemein">allgemeine Fragen</option>
    31. <option value="sachlich">sachliche Fragen</option><option value="zurHP">Fragen zur Homepage</option></select></td>
    32. </tr>
    33. <tr>
    34. <td>Nachricht:*</td>
    35. <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
    36. </tr>
    37. <tr>
    38. <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    39. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    40. </td>
    41. <!-- <td>Ja <input name="Antwort" checked type="radio" value="ja">
    42. Nein <input name="Antwort" type="radio" value="nein"></td>-->
    43. </tr>
    44. <!--<tr>
    45. <td>Newsletter abonnieren:</td>
    46. <td><input checked name="Newsletter" type="checkbox" value="ja"></td>
    47. </tr>-->
    48. <tr>
    49. <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td>
    50. </tr>
    51. </form>
    52. </table>
    53. </h3>
    54. <!-- Kontaktformular Ende -->
    Alles anzeigen

    Keine Ahnung, warum er des so formatiert. Aber wo sollt ich aus REQUEST POST machen?

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von robert712 ()

  • Er formatiert es falsch, weil du HTML lernen solltest:

    Quellcode

    1. <!-- Kontaktformular -->
    2. <h3>
    3. <table border="0" cellpadding="1" cellspacing="2">
    4. <form action="kontaktformular-auswerten.php" method="post">
    5. <tr>
    6. <td>Anrede</td>
    7. <td>Herr<input name="Anrede" checked type="radio" value="Herr">
    8. &nbsp;&nbsp; Frau<input name="Anrede" type="radio" value="Frau"></td>
    9. </tr>
    10. <tr>
    11. <td>Name:*</td>
    12. <td><input name="Name" size="20" type="text"></td>
    13. </tr>
    14. <tr>
    15. <td>eMail:*</td>
    16. <td><input name="Email" size="20" type="text"></td>
    17. </tr>
    18. <tr>
    19. <td>ICQ:</td>
    20. <td><input name="ICQ1" size="3" type="text">
    21. -<input name="ICQ2" size="3" type="text">
    22. -<input name="ICQ3" size="3" type="text"></td>
    23. </tr>
    24. <tr>
    25. <td>URL:</td>
    26. <td><input name="URL" size="20" type="text"></td>
    27. </tr>
    28. <tr>
    29. <td>Betreff:*</td>
    30. <td><select name="Betreffszeile" size="1"><option>&nbsp;</option><option value="allgemein">allgemeine Fragen</option>
    31. <option value="sachlich">sachliche Fragen</option><option value="zurHP">Fragen zur Homepage</option></select></td>
    32. </tr>
    33. <tr>
    34. <td>Nachricht:*</td>
    35. <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
    36. </tr>
    37. <tr>
    38. <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    39. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    40. </td>
    41. <!-- <td>Ja <input name="Antwort" checked type="radio" value="ja">
    42. Nein <input name="Antwort" type="radio" value="nein"></td>-->
    43. </tr>
    44. <!--<tr>
    45. <td>Newsletter abonnieren:</td>
    46. <td><input checked name="Newsletter" type="checkbox" value="ja"></td>
    47. </tr>-->
    48. <tr>
    49. <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td>
    50. </tr>
    51. </form>
    52. </table>
    53. </h3>
    54. <!-- Kontaktformular Ende -->
    Alles anzeigen


    Und den Post-Array solltest du hernehmen, damit deine Variablen möglichst wenige Herkunften haben können, so wie es momentan ist, könnte es eine Sicherheitslücke sein. Klar, das Formular ist jetzt ein schlechtes Beispiel, aber eine Variable sollte eben so wenig Herkunftsmöglichkeiten haben, wie es geht!

    Zu deiner Frage, warum es nicht geht: Wie wäre es, wenn du mal die vergebenen Namen vergleichst. Im Formular ist es nämlich Betreffzeile und das Skirpt kann schlecht wissen, dass du mit Betreff, die Betreffzeile meinst...
  • ich habs nun folgendermaßen und es springt bsw. wenn ich die erste Auswahl angib, trotzdem erst bei der zweiten raus.

    Quellcode

    1. <html>
    2. <head>
    3. <title>Kontaktformular mit PHP</title>
    4. </head>
    5. <body>
    6. <?php
    7. $dummyemail = "unbekannt@test.de";
    8. $Empfaenger = "webmaster@test.de";
    9. if($_REQUEST['Send'])
    10. {
    11. if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Betreffszeile']) || empty($_REQUEST['Nachricht']))
    12. {
    13. echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie mindestens alle Pflichtfelder aus!";
    14. }
    15. else
    16. {
    17. if(strcmp($_REQUEST['Betreffszeile'], 'allgemein'))
    18. {
    19. $Empfaenger = 'test1@test.de';
    20. }
    21. else
    22. {
    23. if(strcmp($_REQUEST['Betreffszeile'], 'sachlich'))
    24. {
    25. $Empfaenger = 'test2@testde';
    26. }
    27. else
    28. {
    29. //if(strcmp($_REQUEST['Betreffszeile'], 'zurHP'))
    30. $Empfaenger = 'test3@test.de';
    31. }
    32. }
    33. $Mailnachricht = "Nachricht aus Kontaktformular (test.de): \n\n";
    34. while(list($Formularfeld, $Wert)=each($_REQUEST))
    35. {
    36. if($Formularfeld!="Send")
    37. {
    38. $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
    39. }
    40. }
    41. $Mailnachricht .= "\nDatum\Zeit: ";
    42. $Mailnachricht .= date("d.m.Y H:i:s");
    43. $Mailbetreff .= $_REQUEST['Betreffszeile'];
    44. $Mailbetreff = " zur Homepage test.de";
    45. if(empty($_REQUEST['Email'])) //Es wird eine Dummy-Email-Adresse übergeben, falls Formularfeld leer
    46. {
    47. mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ". $dummyemail);
    48. }
    49. else
    50. {
    51. mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
    52. }
    53. echo "Vielen Dank für Ihre eMail! <br><br>";
    54. echo "Wir werden uns baldmöglichst darum kümmern, ihr Webmaster";
    55. }
    56. }
    57. else
    58. {
    59. echo "Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.htm\">Seite</a>.";
    60. }
    61. ?>
    62. </body>
    63. </html>
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von robert712 ()