myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   PHP Kontakt Formular problem (https://mygully.com/showthread.php?t=2161982)

FirstDefender 13.11.10 20:37

PHP Kontakt Formular problem
 
ich habe ein problem mit meinem kontakt formular.

und zwar :

1. wenn ich ein flichtfeld auslasse löscht er schon alle eingegebenen felder
2. wenn ich alles eingegeben habe und er mir sagt alles ok wird gleich darunter nochmal das formular angezeigt was er aber nicht machen soll

kann mir jemand sagen wo der fehler ist
PS : ich bin PHP anfänger

hier einmal der code
danke für jede hilfe

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<html>

<?php

// Eigene Kontaktdaten

$deinname = "FirstDefender";                      // hier denn Namen eintragen
$deinemailadresse = "[email protected]";  // hier die eigene E-mail eintragen


// Kontaktformular Einstellungen

$label_name = "Ihr Name:";
$label_betreff = "Betreff:";
$label_mail = "Ihre eMail-Adresse:";
$label_nachricht = "Ihre Nachricht:";

$label_vergessen = "Sie haben folgende Angabe vergessen einzutragen";

$titel = "Kontaktformular";


//Dankesmail

$dank_mail = 1;        // Soll Dankmail verschickt werden? 0 = nein, 1 = ja
$betreff_danke = "Vielen Dank \n";
$nachricht_danke = "\n Danke für Ihre Nachricht! \n\n Sie erhalten in Kürze Antwort von mir.\n\n Mit freundlichen Gruessen\n\n".$deinname."\n\n--\n\n Ihre Nachricht:\n\n".$nachricht1."";  // \n = Zeilenumbruch
$info_danke = "Eine Dankes-eMail von mir ist bereits unterwegs!";  // Leer lassen wenn nicht erwünscht


?>

<head>
<title>Kontakt Formular</title>


<!-- Icon in der Adress Zeile -->
<link href="../images/MSN.ico" rel="shortcut icon">
<link rel="icon" href="../images/MSN.ico" type="image/ico">

<!-- CSS für Ausgabe am Bildschirm -->
<link rel="stylesheet" href="../stylesheets/bildschirm_2.css" type="text/css" media="screen">

<!-- CSS für eine andere Schriftart ( nur für FireFox -->
<link rel="stylesheet" href="../stylesheets/schriftart.css" type="text/css" media="screen">


<!-- CSS für eine Internet Explorer ab Version 6 -->
<!--[if gte IE 6]>
 <link rel="Stylesheet" href="../stylesheets/ie_ab_6.css" type="text/css" />
<![endif]-->
</head>
<body>

<img src="../images/design/Menue_3.jpg" width="1" height="1" alt=" " id="bg" />

<div id="wrapper">
<div id="navi-links">

        <ul>
              <li class="link1"><a href="../index.html"><span>Startseite</span></a></li>
              <li class="link2"><a href="link2.html"><span>News</span></a></li>
              <li class="link3"><a href="link2.html"><span>link2</span></a></li>
              <li class="link4"><a href="link2.html"><span>link2</span></a></li>
              <li class="link5"><a href="link2.html"><span>link2</span></a></li>
              <li class="link6"><a href="link2.html"><span>link2</span></a></li>
        </ul>

</div> <!-- Ende navi-oben -->



<!-- ############################## Textbereich ########################### -->
<div id="textbereich">


<h2>Nehmen Sie Kontakt mit mir auf</h2>

<?php

              // wurde auf ABSCHICKEN geklickt?
                if(isset($_POST["submit"]))
{

              // es wurde kein Vorame eingetragen
                if(!$_POST["vorname"] || empty($_POST["vorname"]))
                { echo "$label_vergessen : Vorname.";
                ?><br><a href="<?php echo $_SERVER["PHP_SELF"]; ?>"  title="back">Zurück zur Eingabe</a><br><br><?php
                }

              // es wurde kein Nachname eingetragen
                elseif(!$_POST["nachname"] || empty($_POST["nachname"]))
                { echo "$label_vergessen : Nachname.";
                ?><br><a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="back">Zurück zur Eingabe</a><br><br><?php
                }

              // es wurde keine E-Mail Adresse eingetragen
                elseif(!$_POST["email"] || empty($_POST["email"]))
                { echo "$label_vergessen : eMail-Adresse.";
                ?><br><a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="back">Zurück zur Eingabe</a><br><?php
                }

              // es wurde keine Nachricht  eingetragen
                elseif(!$_POST["nachricht"] || empty($_POST["nachricht"]))
                { echo "$label_vergessen : Nachricht.";
                ?><br><a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="back">Zurück zur Eingabe</a><br>

                <?php
                }


                // ist alles Eingetragen dann
                else
                {
                // alles ist Eingetragen

                // Betreff auswerten
                if (isset($_POST["betreff1"])) { $wunsch = $_POST["betreff1"] . "\n"; }
                if (isset($_POST["betreff2"])) { $wunsch = $wunsch . $_POST["betreff2"] . "\n"; }
                if (isset($_POST["betreff3"])) { $wunsch = $wunsch . $_POST["betreff3"] . "\n"; }
                if (isset($_POST["betreff4"])) { $wunsch = $wunsch . $_POST["betreff4"] . "\n"; }
                if (isset($_POST["betreff5"])) { $wunsch = $wunsch . $_POST["betreff5"] . "\n"; }


                // Erzeuge den E-Mail Header
                // E-Mail vom Absender

$header.="Von: \"".$_POST["vorname"]." ".$_POST["nachname"]."\" <".$_POST["email"].">\n";

                // Die Nachricht

$nachricht1 = "".$_POST["nachricht"]."\n\n";
$nachricht1 = $nachricht1 . "\n\n Grund Ihrer Nachricht \n\n" . $wunsch;


                  // Mail wird nun verschickt

      // Mein Name -    Meine e-Mail Adresse -  Betreff -  Nachricht -  Header
mail("\"".$deinname."\" <".$deinemailadresse.">",$betreff,$nachricht1, $header);

                      // Text der Dankesmail

$body_danke = "Hallo " . $_POST["anrede"] . " " . $_POST["nachname"] . "\n\n" . $nachricht_danke;

                    // Senden von der Dankmail

if($dank_mail == 1) mail("\"".$_POST["nachname"]."\" <".$_POST["email"].">",$betreff_danke,$body_danke,$header_danke);

// ################### E-mai versendet #######################

// Bedanken mit diesen daten Anrede und Nachname :

                echo "<h2>Vielen Dank für Ihre Nachricht, " . $_POST["anrede"] . " "
                . $_POST["nachname"]; echo"</h2>";


// end alles eingetragen

                }}


?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<!-- <form action="auswertung.php" method="post"> -->

              <table border="1">

<!-- ######################### Ersteinmal die Anrede -->
<tr>
<td align=right>Anrede:</td>
<td>
<select name=anrede size=1>
        <option value="">---</option>
        <option value="Herr">Herr </option>
        <option value="Frau">Frau </option>
        <option value="Firma">Firma </option>
</select>
</td>

 <td rowspan="4"><img src="../images/straus.jpg" width="190" alt=""></td> <!-- rechte Tabelle nach unten verbinden -->
</tr>

<!-- ######################### Namen eingeben ######################### -->
<tr><td align=right>Vorname *:</td><td><input name=vorname size=25></td></tr>

<tr><td align=right>Nachname *:</td><td><input name=nachname size=25></td></tr>

<tr><td align=right>Telefon:</td><td><input name=tel size=25></td></tr>

<tr><td align=right>E-Mail *:</td><td><input name=email size=25></td></tr>


<!-- ######################### Text eingeben ######################## -->
<tr>
<td valign=top align=right>Nachricht *:</td>
<td><textarea cols="50" rows="3" name="nachricht"></textarea></td>


<!-- ######################### Grund der Nachricht in Auswahl Boxen ######################## -->
<td>
<b>Grund Ihrer Nachricht:</b><br>
                <input type=checkbox name=betreff1 value="Ich bitte um Info">Ich bitte um Info.<br>
                <input type=checkbox name=betreff2 value="Ich bitte um einen Termin">Ich bitte um einen Termin.<br>
                <input type=checkbox name=betreff3 value="Ich bitte um Rückruf">Ich bitte um Rückruf.<br>
                <input type=checkbox name=betreff4 value="Ich habe eine Frage">Ich habe eine Frage.<br>
                <input type=checkbox name=betreff5 value="Anderer Grund">Anderer Grund siehe Nachricht.<br>

<!-- Eine CheckBox standart mässig anharken mit dem Befehl - checked -
              <input type=checkbox name=betreff6 checked value="CheckBox">Mit checked schon gleich angeharkt<br> -->

        </td>
</tr>
</table>
* Diese Felder müssen ausgefüllt werden.

<!-- Absenden oder Zurücksetzen -->
<br><center>
<input type="reset" value="zurücksetzen">&nbsp;</input>              <!-- Eingabe zurücksetzen -->
<input type="submit" value="abschicken" name="submit"></input>        <!-- Eingabe Senden -->
</center>
</form>
              <!-- end nicht gesendet -->


</div> <!-- Ende textbereich -->

<div id="navi-unten">

<ul>
      <li><a href="grundgerust.html" title=""><img src="../images/button/bild.png" alt=""></a></li>
      <li><a href="grundgerust.html" title=""><img src="../images/button/bild.png" alt=""></a></li>
      <li><a href="../seiten/kontakt_auswahl.html" title="Kontakt"><img src="../images/button/kontakt.png" alt=""></a></li>
      <li><a href="imp.html" title="Impressum"><img src="../images/button/impressum.png" alt=""></a></li>
      <li><a href="links.html" title="Links"><img src="../images/button/links.png" alt=""></a></li>
</ul>

</div> <!-- Ende seiten_menue -->

</div> <!-- Ende wrapper -->
</body>
</html>


wmosebach 14.11.10 13:16

Damit das Kontaktformular nicht kommen soll, muss du alles ab der Zeile:

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">

in eine Abfrage stecken:
z.b.:
if (!isset($_POST[submit]))

was die vergessenen Eingaben angeht:
Du kannst die Felder sofort per Java-S***** überprüfen lassen. Andernfalls musst du dir die Eingaben merken und wenn etwas fehlt den Wert wieder in das Feld eintragen lassen.

Vll haben andere Leute da noch andere Ideen...

Eule66 14.11.10 15:19

Hallo FirstDefender,

du kannst Prüfungen auch ohne Java machen.
Hier ein Beispiel zum testen etc.: (Bei mir "name.php")
PHP-Code:

<head>
<title> Name Test </title>
</head>
<body>
<h1> Name Test </h1>
<?php

  
function buchstaben($teststring){
    if (
ereg ("([^A-Za-zÄäÖöÜüß \.-]+)"$teststring)) { return true; } else { return false; };
  }

if(isset(
$_POST['ueberpruefung']))  
  {  
   
$allesok 1;
   
   if(
buchstaben($_POST['Name']))
     { 
      
$allesok 0;  
      
$error[Name] = "<font color='red'>Only letters!</font>";
     }
   if(empty(
$_POST['Name']))
     { 
      
$allesok 0;  
      
$error[Name] = "<font color='red'>No Name?</font>";
     }
//hier kann alles mögliche geprüft werden...z.B. andere Reguläre Ausdrüke ...//
  
}


if(
$allesok)
  {
   echo 
"<h2> Confirm </h2>";
   echo 
"Name --- ".$_POST['Name']."<br>";
   echo 
"<Form Post Submit....>";
//hier kann es weiter gehen...Übergabe an  E-Mail, Liste, Datenbank... //
 
}
else 
  { 
?>
<p><strong> Please fill out the following form completly. <font color='red'>*</font> is controlled!</strong></p>
    <form name="Registration" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">     

   <table>       
      <tr>
            <td> <font color='red'>*</font> Name</td>
            <td><input type="text" name="Name" size="40" value="<?php echo $_POST['Name'];?>" /> 
                   <?php echo $error['Name'];?>    </td>
      </tr>
      <tr>
            <td>
                <input type="hidden" name="ueberpruefung" value="1">
                <input type="submit" name="Registration" value="Send" />
           </td>
            <td><input type="reset" name="Zur&uuml;cksetzen" value="Delete" />   </td>
     </tr>
   </table>
   </form>
<?php 
  

  
?> 
</body>

Es werden Zahlen und ein Leerfeld nicht angenommen.
Ich hoffe das hilft dir weiter...

FirstDefender 15.11.10 16:47

ich werde das s***** mal testen
danke auf jeden fall


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.