Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > PHP/MySQL

PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26887, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3321, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 299, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7635, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 19, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 20, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 54, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 144, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 69, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50939, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22.12.2007, 14:39   #1 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 26.05.2007
Beiträge: 147
Standard PHP Kontaktformular Frage

Hallo und zwar habe ich ein Kontakt formular und ich möchte mit hilfe von
<select><option> das der besucher auf der hp auswählen kann an wen er die nachricht schickt schaut euch mal das kontakt form an ist halt auf italienisch hoffe das macht nix:

Code:
 <form name="Formular" method="post" action="#"> 

 <table border=1 cellPadding=4 cellSpacing=2 align=center> 
  <tr> 
   <td>Nome:</td> 
   <td><input type="text" name="vorname" size="35" maxlength="40"></td> 
  </tr> 
  <tr> 
   <td>Cognome:</td> 
   <td><input type="text" name="nachname" size="35" maxlength="40"></td> 
  </tr> 
  <tr> 
   <td>E-Mail:</td> 
   <td><input class="field" type="text" name="mail" size="35" maxlength="40"></td> 
  </tr> 
  <tr> 
   <td>Ogetto:</td> 
   <td>


     <input class="field" type="text" name="betreff" size="44" maxlength="60">
   </p>
     </td> 
  </tr> 
  <tr>
  <td colspan="2">
  Spedire a

<select name="spedirea" size="1"><option>info@cacciatorisalandresi.com</option><option>webmaster@cacciatorisalandresi.com</option><option>rocco@cacciatorisalandresi.com</option><option>leo@cacciatorisalandresi.com</option></select></td></tr>
  <tr> 
   <td colspan=2> 
    Messagio:
<textarea va name="nachricht" cols="47" rows="7" style="overflow-y:hidden">Scusa, Questo Servizio e al momento disativato !
info@cacciatorisalandresi.com - Per Informazini & Co-
webmaster@cacciatorisalandresi.com - Per Problemi e domande sull Sito
rocco@cacciatorisalandresi.com - Rocco Loscalzo
leo@cacciatorisalandresi.com - Leo D'Alessandro</textarea>   </td> 
  </tr> 
  <tr> 
   <th colspan=2>
 
    <input type="submit" name="gesendet" value="Invia"> 
 * 
    <input type="reset" value="Cancella tutti i Campi">   </th> 
  </tr> 
 </table> 
</form>
Und hier die php datei die es senden soll.
:
Code:
<?php
$gesendet = $_POST['gesendet'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$email = $_POST['email'];
$myemail ="webmaster@cacciatorisalandresi.com";
$homepage ="http://www.cacciatorisalandresi.com/";
if ($gesendet == "Absenden"){ 
$an ="info@cacciatorisalandresi.com";
$text ="Ciao Rocco Loscalzo e Leo DAlessandro,\n avete Ricevuto una E-Mail dall Sito $homepage da $vorname $nachname , con L Ogetto $betreff :\n\n 
Messagio:
====
\n
 $nachricht
 \n====\

n\nPuoi rintracare $vorname $nachname con questo Indirizzo E-Mail: $email .

Formular Script Written by $myemail .";
mail($an,$betreff,$text,"From: ".$myemail); 
echo "Grazie per il Messagio e stato mandata a info@cacciatorisalandresi.com !";
}
else 
 ?>
Wie muss ich diese Dateien verändern das es klappt?
Danke im Vorraus
Leo
__________________
Mit Freundlichen Grüßen
Leo
Webmaster Leo ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 22.12.2007, 15:25   #2 (Direktlink)
War schon mal da
 
Benutzerbild von murray_de_luxe
 
Registriert seit: 19.02.2007
Beiträge: 38
Standard

moin,
also im html hast du schon mal einen fehler, da fehlt das value!:
falsch:
Code:
<select name="spedirea" size="1"><option>info@cacciatorisalandresi.com</option><option>webmaster@cacciatorisalandresi.com</option><option>rocco@cacciatorisalandresi.com</option><option>leo@cacciatorisalandresi.com</option></select>
richtig:
Code:
<select name="spedirea" size="1">
	<option value="info@cacciatorisalandresi.com" selected>info</option>
	<option value="webmaster@cacciatorisalandresi.com">webmaster</option>
	<option value="rocco@cacciatorisalandresi.com">rocco</option>
	<option value="leo@cacciatorisalandresi.com">leo</option>
</select>
Und dann bräuchtest in deinem PHP nur noch das $an ändern:
Code:
$an = $_POST[spedirea];
natürlich setzt das voraus das dein Form auch RICHTIG weitergleitet wird, z.B.:
Code:
<form name="Formular" method="post" action="<?=$_SERVER['PHP_SELF'];?>">
oder
Code:
 
<form name="Formular" method="post" action="index.php">
Übrigens kleiner Hinweis, deine if - Bedingung zum versenden ist IMMER falsch! Überprüf deine Abfrage mal und ändere sie lieber um.
Hinweisansicht:
Code:
if ($gesendet == "Absenden"){
immer falsch weil:
Code:
<input type="submit" name="gesendet" value="Invia">
$gesendet hat IMMER den Wert "Invia", deshalb ist die Abfrage immer falsch!
murray_de_luxe ist offline   Mit Zitat antworten
Alt 22.12.2007, 17:13   #3 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 26.05.2007
Beiträge: 147
Standard

Hallo danke für deine Antwort, aber irgendwie scheint es nicht zu funzen warscheinlich hab ich was falsch:

hier der html teil
Code:
<form name="Formular" method="post" action="<?=$_SERVER['PHP_SELF'];?>"> 

 <table border=1 cellPadding=4 cellSpacing=2 align=center> 
  <tr> 
   <td>Nome:</td> 
   <td><input type="text" name="vorname" size="35" maxlength="40"></td> 
  </tr> 
  <tr> 
   <td>Cognome:</td> 
   <td><input type="text" name="nachname" size="35" maxlength="40"></td> 
  </tr> 
  <tr> 
   <td>E-Mail:</td> 
   <td><input class="field" type="text" name="mail" size="35" maxlength="40"></td> 
  </tr> 
  <tr> 
   <td>Ogetto:</td> 
   <td>


     <input class="field" type="text" name="betreff" size="44" maxlength="60">
   </p>
     </td> 
  </tr> 
  <tr>
  <td colspan="2">
  Spedire a

<select name="spedirea" size="1"> 
   <option value="info@cacciatorisalandresi.com" selected>info@cacciatorisalandresi.com</option> 
   <option value="webmaster@cacciatorisalandresi.com">webmaster@cacciatorisalandresi.com</option> 
   <option value="rocco@cacciatorisalandresi.com">rocco@cacciatorisalandresi.com</option> 
   <option value="leo@cacciatorisalandresi.com">leo@cacciatorisalandresi.com</option> 
</select> </td></tr>
  <tr> 
   <td colspan=2> 
    Messagio:
<textarea va name="nachricht" cols="47" rows="7" style="overflow-y:hidden">Scusa, Questo Servizio e al momento disativato !
info@cacciatorisalandresi.com - Per Informazini & Co-
webmaster@cacciatorisalandresi.com - Per Problemi e domande sull Sito
rocco@cacciatorisalandresi.com - Rocco Loscalzo
leo@cacciatorisalandresi.com - Leo D'Alessandro</textarea>   </td> 
  </tr> 
  <tr> 
   <th colspan=2>
 
    <input type="submit" name="gesendet" value="Invia"> 
 * 
    <input type="reset" value="Cancella tutti i Campi">   </th> 
  </tr> 
 </table> 
</form>
und hier der Php teil:

Code:
<?php
$gesendet = $_POST['gesendet'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$email = $_POST['email'];
$myemail ="webmaster@cacciatorisalandresi.com";
$homepage ="http://www.cacciatorisalandresi.com/";
if ($gesendet == "Absenden"){ 
$an ="spedirea";
$text ="Ciao Rocco Loscalzo e Leo DAlessandro,\n avete Ricevuto una E-Mail dall Sito $homepage da $vorname $nachname , con L Ogetto $betreff :\n\n 
Messagio:
====
\n
 $nachricht
 \n====\

n\nPuoi rintracare $vorname $nachname con questo Indirizzo E-Mail: $email .

Formular Script Written by $myemail .";
mail($an,$betreff,$text,"From: ".$myemail); 
echo "Grazie per il Messagio e stato mandata a info@cacciatorisalandresi.com !";
}
else 
 ?>
Was ist da jetzt falsch?
Danke im Vorraus
Leo
__________________
Mit Freundlichen Grüßen
Leo
Webmaster Leo ist offline   Mit Zitat antworten
Alt 22.12.2007, 20:04   #4 (Direktlink)
War schon mal da
 
Benutzerbild von murray_de_luxe
 
Registriert seit: 19.02.2007
Beiträge: 38
Standard

Moin,
liest du eigentlich was ich geschrieben habe? Eigentlich hab ich schon auf alles hingewiesen was wichtig zu beachten war!

also mal jetzt erstmal eine Frage, ist das gesamte eine komplette *.php Datei oder eine Aufteilung in *.html + *.php

Weil du sonst diesen Punkt hier beachten musst!:
GEHT NUR WENN komplette *.php
Code:
<form name="Formular" method="post" action="<?=$_SERVER['PHP_SELF'];?>">
ansonsten die aufzurufenden PHP datei verlinken
Code:
<form name="Formular" method="post" action="NAMEDERPHPDATEI.php">
2. Punkt:
Code:
if ($gesendet == "Absenden"){
Wird wie oben schon erwähnt NICHT funktionieren und somit wird auch keine Mail versendet, da $gesendet immer den Wert "Invia" enthalten wird (wie beim erstenmal schon erwähnt!).
Demzufolge gebe es 2 Möglichkeiten:
a) Die Abfrage ändern in:
Code:
if ($gesendet == "Invia"){
oder b)es gleich korrekt Eindeutschen:
Code:
<input type="submit" name="gesendet" value="Absenden">
Soweit dazu, nun wird aber trotzdem nichts beim Empfänger ankommen, da du nicht mal richtig copy/pastet hast aus meinem ersten Beitrag:
falsch:
Code:
$an ="spedirea";
richtig:
Code:
$an = $_POST['spedirea'];
Ich hoffe mal das jetzt alle Klarheiten beseitigt sind
Viel Glück beim Fertigstellen!
murray_de_luxe ist offline   Mit Zitat antworten
Alt 28.12.2007, 12:18   #5 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 26.05.2007
Beiträge: 147
Standard

Hallo!
Jetzt funktioniert es endlich!
was kann mann da jetzt noch rein machen das der das Formular erst los schickt wenn alle felder ausgefült sind wenns geht in PHP da nicht alle Javascript haben bzw. aktiviert haben.
die kontakt seite wo das form ist ist auf html und der send ist in php

Danke nochmal und Frohe Weihnachten Nachträglich!
Gruß Leo
__________________
Mit Freundlichen Grüßen
Leo
Webmaster Leo ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 28.12.2007, 20:44   #6 (Direktlink)
Forenmaskottchen
 
Registriert seit: 20.09.2005
Ort: Dresden
Alter: 21
Beiträge: 835
Standard

Einfach eine if-Anweisung nehmen, mit der geprüft wird, ob das jeweilige Feld ausgefüllt ist.
Code:
<?php
if (isset($_POST["gesendet“])) {
  if (empty($_POST["vorname"])) {
    $error = "Vorname ist nicht konform.";
  } elseif (empty($_POST["nachname"])) {
    $error = "Nachname ist nicht konform.";
  } elseif (!preg_match("/^[a-z0-9]+([._-][a-z0-9]+)*@[a-z0-9]+([.-][a-z0-9]+)*\.[a-z]{2,4}$/i", $_POST["mail"])) {
    $error = "Email ist nicht konform.";
  } elseif (empty($_POST["betreff"])) {
    $error = "Betreff ist nicht konform.";
  } elseif (empty($_POST["nachricht"])) {
    $error = "Nachricht ist nicht konform.";
  }

  if (isset($error)) {
    printf("

%s</p>", $error);
  } else {
    // Email versenden …
  }
}
?>
gago ist offline   Mit Zitat antworten
Alt 29.12.2007, 10:30   #7 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 26.05.2007
Beiträge: 147
Standard

ja danke, und soll dieser teil in der HTML oder im PHP teil rein?
__________________
Mit Freundlichen Grüßen
Leo
Webmaster Leo ist offline   Mit Zitat antworten
Alt 29.12.2007, 11:52   #8 (Direktlink)
Forenmaskottchen
 
Registriert seit: 20.09.2005
Ort: Dresden
Alter: 21
Beiträge: 835
Standard

Hast du das Formular und die Verarbeitung der Daten in einer Datei?
Die Anweisungen sind PHP.
gago ist offline   Mit Zitat antworten
Alt 29.12.2007, 13:40   #9 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 26.05.2007
Beiträge: 147
Standard

neee formular ist in HTML und verarbeitungsdatei in PHP sind zwei extra dateien kontakt.html und send.php
__________________
Mit Freundlichen Grüßen
Leo
Webmaster Leo ist offline   Mit Zitat antworten
Alt 01.01.2008, 14:23   #10 (Direktlink)
War schon mal da
 
Benutzerbild von murray_de_luxe
 
Registriert seit: 19.02.2007
Beiträge: 38
Standard

moin und frohes neues erstmal.
Die Abfrage gehört natürlich in die PHP-Datei, weil du ja die mail mittels der Abfrage auch erst sendest wenn kein Error da ist.
Du könntest die Abfrage von der.bozz noch bischl ändern. z.b. diesen Part:

Code:
if (isset($error)) { 
    printf("

%s</p>", $error); 
include_once("PATH/kontakt.html");
  } else { 
    // Email versenden … 
//tjo wie gesagt hier ansonsten die mailroutine einfügen und versenden lassen ;)
  }
murray_de_luxe ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 05.01.2008, 12:31   #11 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard

Zitat:
Zitat von der.bozz
Code:
printf("

%s</p>", $error);
Mich würde mal interessieren, für was das %s gut ist??? Kann mir das schnell einer erklären?
__________________
mFg
K. R. Eyden
K. R. Eyden ist offline   Mit Zitat antworten
Alt 05.01.2008, 14:02   #12 (Direktlink)
War schon mal da
 
Benutzerbild von murray_de_luxe
 
Registriert seit: 19.02.2007
Beiträge: 38
Standard

Zitat:
Zitat von K. R. Eyden
Zitat:
Zitat von der.bozz
Code:
printf("

%s</p>", $error);
Mich würde mal interessieren, für was das %s gut ist??? Kann mir das schnell einer erklären?
Moin, wenn ich mich richtig entsinne dann ist das ein Platzhalter für Strings. Das heisst das $error ein String sein muss bzw. als String dann ausgegeben wird was in $error enthalten ist. bsp: s=string, f = float, f.2= float mir 2 nachkommastellen .... etc....ansosnten empfehle ich dir hier auch mal dich durch php.net durchzuwuseln. ist eigentlich DIE Anlaufstelle für Anfänger und auch Profis!
murray_de_luxe ist offline   Mit Zitat antworten
Alt 05.01.2008, 22:25   #13 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard

ok danke mach ich!
__________________
mFg
K. R. Eyden
K. R. Eyden ist offline   Mit Zitat antworten
Alt 06.01.2008, 07:57   #14 (Direktlink)
Forenmaskottchen
 
Registriert seit: 20.09.2005
Ort: Dresden
Alter: 21
Beiträge: 835
Standard

Zitat:
Zitat von murray_de_luxe
Zitat:
Zitat von K. R. Eyden
Zitat:
Zitat von der.bozz
Code:
printf("

%s</p>", $error);
Mich würde mal interessieren, für was das %s gut ist??? Kann mir das schnell einer erklären?
Moin, wenn ich mich richtig entsinne dann ist das ein Platzhalter für Strings. Das heisst das $error ein String sein muss bzw. als String dann ausgegeben wird was in $error enthalten ist. bsp: s=string, f = float, f.2= float mir 2 nachkommastellen .... etc....ansosnten empfehle ich dir hier auch mal dich durch php.net durchzuwuseln. ist eigentlich DIE Anlaufstelle für Anfänger und auch Profis!
Die Erklärung stimmt. Du kannst aber nochmal unter http://php.net/printf nachschauen.
gago ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > PHP/MySQL

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 02:54 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2