myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

PHP Kontakt Formular problem

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 13.11.10, 20:37   #1
FirstDefender
Erfahrener Newbie
 
Registriert seit: Sep 2009
Beiträge: 164
Bedankt: 261
FirstDefender gewöhnt sich langsam dran | 32 Respekt Punkte
Standard 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>
FirstDefender ist offline   Mit Zitat antworten
Ungelesen 14.11.10, 13:16   #2
wmosebach
Ist öfter hier
 
Registriert seit: Jan 2010
Beiträge: 189
Bedankt: 117
wmosebach ist noch neu hier! | 0 Respekt Punkte
Standard

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...
__________________
Make the world a prettier place - get a bikini wax!
wmosebach ist offline   Mit Zitat antworten
Ungelesen 14.11.10, 15:19   #3
Eule66
Anfänger
 
Registriert seit: Jul 2010
Beiträge: 30
Bedankt: 12
Eule66 ist noch neu hier! | 0 Respekt Punkte
Standard

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...
Eule66 ist offline   Mit Zitat antworten
Ungelesen 15.11.10, 16:47   #4
FirstDefender
Erfahrener Newbie
 
Registriert seit: Sep 2009
Beiträge: 164
Bedankt: 261
FirstDefender gewöhnt sich langsam dran | 32 Respekt Punkte
Standard

ich werde das s***** mal testen
danke auf jeden fall
FirstDefender ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


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


Sitemap

().