CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
20.04.2005, 12:54:30
|
Anfänger
|
|
Registriert seit: Apr 2005
Beiträge: 23
|
|
Sendmail mit Radiobuttons
Hallo allerseits,
bin heute in dieses Forum eingetreten, weil ich Hilfe brauche. Habe schon den ganzen Vormittag im www gesucht, um eine Lösung für mein Problem zu finden.
Ich habe ein Formular. Wenn man dieses Formular ausfüllt und abschickt, soll beim Empfänger ein formatiertes Email ankommen. Das heißt, schreibt jemand seinen Vornamen und Namen jeweils in ein Formularfeld, soll im Email dann z.B. das so stehen:
... Sie bekamen ein Email von Emil Richter.
Ich habe praktisch ein Script, was das Formular beschreibt. Und noch eines, was das Sendmail beschreibt. Mit einfachen Formularfeldern gibt es kein Problem, aber mit Radiobuttons:
In meinem Formular-Script steht:
<input type="radio" name="kontaktart" value="mail" tabindex="1">per E-Mail</td>
<input type="radio" name="kontaktart" value="anruf" border="0">Rufen Sie mich an</font></td>
Im Email soll es dann heißen, wenn jemand einen Anruf will:
Der Absender möchte, dass Sie ihn anrufen.
Oder wenn er den anderen Button wählt:
Der Absender möchte, dass Sie zurückmailen.
Wie muss ich das in dem Script für das Mail einfügen, dass bis jetzt wegen den anderen normalen Formularfeldern so aussieht (Ausschnitt):
mail("$site_email",
"Kontaktaufnahme über meine Homepage",
"Diese eMail wurde mit $site_name gesendet !r
Der Absender dieser eMail ist: $emailrn
Gesendet am: $datumrn
Von:
$vorname $name
$strasse
$plz $ortrn
Telefonnummer: $telefon
Faxnummer: $faxrn
E-Mail: $emailrn
$kommentarrn
Wisst ihr, der Empfänger des Mails ist ein Internetdummy, der alles auf einem Blick und Umschweife lesen und erkennen will. Deshalb der Umstand...
Viele Grüße
huetchen
|
20.04.2005, 13:11:36
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
AW: Sendmail mit Radiobuttons
Das kannst Du mit [FUNC]switch()[/FUNC] realisieren:
PHP-Code:
<?php
switch($_POST['kontaktart']){ // oder bei method="get", eben $_GET['kontaktart']
case 'mail':
$kontaktper = 'MAIL - MICH - AN!';
break;
case 'anruf':
$kontaktper = 'RUF - MICH - AN!';
break;
}
$headers = 'From: $vorname $name<$email>' . "n";
$headers .= 'X-Mailer: PHP/' . phpversion(). "n";
mail($site_email,
"Kontaktaufnahme über meine Homepage",
"Diese eMail wurde mit $site_name gesendet !r
Der Absender dieser eMail ist: $emailrn
Gesendet am: $datumrn
Von:
$vorname $name
$strasse
$plz $ortrn
Telefonnummer: $telefon
Faxnummer: $faxrn
E-Mail: $emailrn
$kommentarrn
Kontaktart: $kontaktper", $header);
?>
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
20.04.2005, 13:39:28
|
Anfänger
|
|
Registriert seit: Apr 2005
Beiträge: 23
|
|
AW: Sendmail mit Radiobuttons
Hallo Coding,
vielen Dank für die schnelle und super Hilfe! Es hat geklappt!
Jetzt nur noch eine Frage. Wenn diese Auswahl zwingend erforderlich ist (also mit *), wie muss ich das schreiben? Bei den normalen Formularfeldern ging es so:
$fehler="Schade, Ihre Eingaben sind nicht vollständig!<br>
Bitte gehen Sie zurück und füllen das Formular vollständig aus<br>
und beachten auch die eMail-Schreibweise! Danke.</B><br><br><br>
<input type=button value=zurück onClick=history.back()>";
$erfolg="<B>Die eMail wurde gesendet !</B></FONT><br><br><br>
<input type=button value=zurück onClick=history.back()>";
if ( $vorname == "") {
echo "$fehler";
exit;
}
Danke schon mal...
Viele Grüße
huetchen
|
20.04.2005, 13:49:51
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
AW: Sendmail mit Radiobuttons
Das kannst Du genau so handeln:
PHP-Code:
$fehler="<B>Guckst Du</B><br>
Du hast krass vergessen, da was auszuwaehlen!<br><br>
<input type=button value=zurück onClick=history.back()>";
if(empty($_POST['kontaktart'])){
echo $fehler;
exit;
}
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
20.04.2005, 14:17:01
|
Anfänger
|
|
Registriert seit: Apr 2005
Beiträge: 23
|
|
AW: Sendmail mit Radiobuttons
Hallo Coding,
danke danke danke! Noch eine allerletzte Frage:
Normalerweise habe ich auch ein * bei Telefonnummer, d.h. die Angabe ist dringend notwendig. Wenn einer allerdings bei der Kontaktart Email angibt, ist die Telefonnummerangabe nicht mehr nötig.
Kann man das auch in ein kleines Script packen?
Danke schon mal!
Viele Grüße
huetchen
Geändert von huetchen (20.04.2005 um 14:17:46 Uhr)
|
20.04.2005, 14:21:27
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Sendmail mit Radiobuttons
PHP-Code:
<?php
if(trim($_POST['email']) == '' && trim($_POST['telefon']) == '') {
print 'Sie haben weder E-Mail noch Telefonnummer angegeben.';
}
?>
|
20.04.2005, 14:54:05
|
Anfänger
|
|
Registriert seit: Apr 2005
Beiträge: 23
|
|
AW: Sendmail mit Radiobuttons
Hallo xabbuh,
das triffts leider nicht ganz, habe mich evtl. zu schwammig ausgedrückt. Ich konnte es auch nicht selber ändern, weil ich nicht weiß, was "trim" macht.
Die Telefonnummer ist praktisch nicht mehr nötig, wenn als Kontaktart Email gewählt wurde. Die Emailadresse ist auch nicht notwendig, wenn als Kontaktart Telefon gewählt wurde. Aber sie kann natürlich übermittelt werden, wenn sie trotz Kontaktart Telefon angegeben wurde.
Es müsste also einmal heißen:
print 'Sie wollen von angerufen werden. Sie haben aber leider keine Telefonnummer angegeben. Bitte ändern Sie das.
Oder:
Sie wollen eine Antwort per Mail von uns. Sie haben aber leider keine Emailadresse angegeben. Bitte ändern Sie das.
Das war jetzt ein bisschen präziser von mir.
Viele Grüße
huetchen
|
20.04.2005, 15:31:35
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
AW: Sendmail mit Radiobuttons
Hi,
zuerst einmal trim() entfernt Whitespaces (wie Leerzeichen, Tabulatoren...) am Anfang und am Ende eines Strings.
Damit auch das so funktioniert wie Du es dir vostellst, musst Du dein switch etwas umschreiben:
PHP-Code:
//...
switch($_POST['kontaktart']){ // oder bei method="get", eben $_GET['kontaktart']
case 'mail':
if(empty(trim($_POST['email']))){
echo 'Sie wollen eine Antwort per Mail von uns.
Sie haben aber leider keine Emailadresse
angegeben. Bitte ändern Sie das.';
exit();
}else{
$kontaktper = 'MAIL - MICH - AN!';
}
break;
case 'anruf':
if(empty(trim($_POST['telefon']))){
echo 'Sie wollen von angerufen werden.
Sie haben aber leider keine Telefonnummer
angegeben. Bitte ändern Sie das.';
exit();
}else{
$kontaktper = 'RUF - MICH - AN!';
}
break;
}
//...
edit: Das echo bzw. exit() kannst Du ja noch aus dem switch() auslagern (per Variable), wenn es an der Stelle etwas unglücklich steht.
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
20.04.2005, 16:26:28
|
Anfänger
|
|
Registriert seit: Apr 2005
Beiträge: 23
|
|
AW: Sendmail mit Radiobuttons
Hallo,
leider hat das nicht geklappt. Also ich hab das so in mein Script reingeschrieben:
...
if ( $telefon == "") {
echo "$fehler"; //bekannter Text, der bereits definiert wurde
exit;
}
if(empty($_POST['kontaktart'])){
echo $kontaktartvergess; //bekannter Text
exit;
}
switch($_POST['kontaktart']){
case 'mail':
if(empty(trim($_POST['email']))){
echo 'Sie wollen eine Antwort per Mail von uns.
Sie haben aber leider keine Emailadresse
angegeben. Bitte ändern Sie das.';
exit();
}else{
$kontaktper = 'MAIL - MICH - AN!';
}
break;
case 'anruf':
if(empty(trim($_POST['telefon']))){
echo 'Sie wollen von angerufen werden.
Sie haben aber leider keine Telefonnummer
angegeben. Bitte ändern Sie das.';
exit();
}else{
$kontaktper = 'RUF - MICH - AN!';
}
break;
}
Da kommt aber folgende Meldung:
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in /srv/www/htdocs/web15/html/formular1/0senddaten.php on line 63 = fettgedruckte Zeile oben
Das kommt jetzt immer, egal, was ich eintrage oder nicht eintrage. Das ganze Script funzt nimmer. Muss vor das telefon oder email noch ein $?
Viele Grüße
huetchen
|
20.04.2005, 16:40:56
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
AW: Sendmail mit Radiobuttons
Ich sehe da keinen Fehler, wie sieht denn der Rest vor diesem Scriptteil aus.
Ach und bitte benutze [php] und [/php ] (ohne das Leerzeiche) um deinen PHP-Code, dann wird er Farblich hervorgehoben und man kann alles besser erkennen.
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:17:09 Uhr.
|