php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.01.2005, 20:34  
Gast
 
Beiträge: n/a
Standard mehrere werte aus einem formularfeld

Hi,

ich will je nach auswahl aus einem pull down menü einerseits einen betreff für ein email kreieren, andereseits die emailadresse von der auswahl abhängig verändern.

Hab da ein script gebastelt, bekomme aber immer die fehlermeldung, dass das erste argument des wertes mail() ein string sein sollte. Ich weiß aber ned, warum es keiner sein sollte. Ist sicher eine Kleinigkeit für einen Profi - hoff ich.

Weiß jemand die Lösung? Bitte, Danke.

Hier das Script:

<?php

# als erstes muss ich mit explode die werte aus dem formular (mailaddi) zerreißen und dann den ersten wert in strEmpfaenger übergeben und den zweiten wert in strSubject. Getrennt sind die beiden werte mit ""

$strAlles = $_Post [mailaddi];

# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = explode (" ",$strAlles[0]);

# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom = 'Mail "von www.genusstage.com" <hiho@hiho.cc>';

# Welchen Betreff sollen die Mails erhalten?
$strSubject = explode (" ",$strAlles[1]);

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://www.genusstage.com/danke.html';

# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter = ":\t";

### Ende Konfiguration ###

if($_POST)
{
$strMailtext = "";

while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else
{
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}

if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}

mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}

?>
<!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" xml:lang="de">
<head>
<title></title>
<link rel="STYLESHEET" type="text/css" href="http://www.genusstage.com/styles.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>



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

<TABLE cellSpacing="2" cellPadding="0" width="560px" border=0>
<TR>
<TD>Gew&uuml;nschter Zeitpunkt/requested date:</TD>
<TD><INPUT id=zeitpunkt size=34 name=Zeitpunkt></TD></TR>
<TR>
<TD>Personen-Anzahl/pax:</TD>
<TD><INPUT id=personen size=34 name=Personenanzahl></TD></TR>
<TR>
<TD>Gew&uuml;nschtes Angebot/solicited offer:</TD>
<TD><SELECT id=mailaddi size=1 name=mailaddi> <OPTION selected>- bitte auswählen -</OPTION>
<OPTION value="festung@hiho.cc' 'Festung">Festung Hohensalzburg</OPTION>
<OPTION value=info@hiho.cc dinner_concert>Dinner &amp; Concert</OPTION>
<OPTION value=info@hiho.cc Burgschenke>Burgschenke &amp; Burgsaal</OPTION>
<OPTION value=festung@hiho.cc Schloss_Hellbrunn>Schloss Hellbrunn &amp; Wasserspiele</OPTION>
<OPTION value=festung@hiho.cc Advent_Sbg_Land>Advent aus dem Salzburger Land</OPTION>
<OPTION value=festung@hiho.cc Salzburg_Zoo>Salzburg Zoo</OPTION>
<OPTION value=festung@hiho.cc freilichtmuseum>Salzburger Freilichtmuseum</OPTION>
<OPTION value=office@hiho.cc Schifffahrt>Salzburger Stadtschifffahrt</OPTION>
<OPTION value=festung@hiho.cc Brauwelt>Stiegl's Brauwelt</OPTION>
<OPTION value=festung@hiho.cc Sommerpackage>Ganztages-Packages Sommer</OPTION>
<OPTION value=festung@hiho.cc Winterpackage>Ganztages-Packages Winter</OPTION>
</SELECT></TD></TR>

<TD>Ihr (Firmen)-Name/company name:</TD>
<TD><INPUT id=firma size=34 name=Firmenname></TD></TR>
<TR>
<TD>Ansprechpartner/contact person:</TD>
<TD><INPUT id=ansprechpartner size=34 name=Ansprechpartner></TD></TR>
<TR>
<TD>Telefon/phone:</TD>
<TD><INPUT id=telefon size=34 name=Telefon></TD></TR>
<TR>
<TD>Email/email:</TD>
<TD><input id=mail size=34 name=Email></TD></TR>
<TR>
<TD valign="top">Sonstiges/comment:</TD>
<TD><textarea id=sonstiges cols="26" rows="5" name=sonstiges></textarea></TD></TR>


<tr>
<TD></TD>
<TD></TD></TR>
<tr><td></td><td><input type="submit" value="Senden" />

</td></tr>
</TBODY></TABLE></FORM>

</body>
</html>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.01.2005, 21:50  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Mach uns doch den Gefallen und formatiere Dein Script erstmal um, dass es leserlich ist.
Insbesondere Einrücken hilft.
Das gesamte Script dann noch in [php]-Tags einpacken und schon kann man sich das auch ansehen.
Auch HTML kann man ansehnlich einrücken. Tabellen werden dadurch auch übersichtlich.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 22.01.2005, 21:59  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard Re: mehrere werte aus einem formularfeld

Zitat:
Zitat von hiho75
Hab da ein script gebastelt, bekomme aber immer die fehlermeldung, dass das erste argument des wertes mail() ein string sein sollte. Ich weiß aber ned, warum es keiner sein sollte.

PHP-Code:
<?php

$strAlles 
$_Post [mailaddi];

$strEmpfaenger explode (" ",$strAlles[0]); 

 
mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)

?>
Ich hab mal alles weggestrichen, das nix mit $strEmpfaenger zu tun hat.
Ich bezweifle irgendwie, dass $_POST[mailaddi] (und setz den Index mal in Hochkommas!) ein Array zurückgibt.
Somit ist der Zugriff auf $strAlles[0] Quatsch.
Allerdings liefert explode sicher ein Array zurück.
Das gibst Du an mail().

Und jetzt überleg mal, warum der erste Parameter kein String ist...

Vielleicht solltest Du explode nicht mit $strAlles aufrufen, sondern mit $_POST['_mailaddi']. Dann hast Du ein Array und kannst Dir die übrigen explodes sparen, die vermutlich ebenso falsch sind wie der erste Aufruf.

Den Rest, der sicher noch ein paar "Highlights" enthält, sehe ich mir erst an, wenn er leserlich gemacht wurde.
Der_Gerhard ist offline  
Alt 22.01.2005, 22:03  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard Re: mehrere werte aus einem formularfeld

PHP-Code:
<?php

$strAlles 
$_POST ['mailaddi'];

list(
$strEmpfaenger) = explode (" ",$strAlles); 

 
mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)

?>
__________________
mod = master of disaster
Waq ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Unbekannte Werte verhindern das Dekodieren. freq.9 PHP Tipps 2006 10 15.07.2006 00:28
Werte aus gesamter Spalte zählen rotzlöffel PHP Tipps 2006 17 14.05.2006 20:28
Dynamische Werte übergabe? Logik Problem jesus666 PHP Tipps 2005-2 21 03.08.2005 17:30
doppelte Werte / Strings einer Spalte nur einmal ausgeben... Datenbanken 2 29.07.2005 12:10
Alle Werte eines Array mischen PHP Tipps 2005-2 2 28.07.2005 17:37
Eingabefelder und Werte PHP Tipps 2005-2 1 28.06.2005 08:19
werte werden nicht übergeben PHP Tipps 2005 10 05.04.2005 23:23
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
Werte aus zwei Tabellen verknüpfen? Datenbanken 12 05.01.2005 10:41
[Erledigt] Werte werden nicht übergeben Server, Hosting und Workstations 1 11.11.2004 09:30
Stringübergabe an ein Formularfeld PHP Tipps 2004-2 13 09.11.2004 08:54
<select> und alte Werte obi PHP Tipps 2004-2 4 06.11.2004 15:17
via Link Werte an eine function übergeben PHP Tipps 2004 5 01.07.2004 12:39
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32
[Erledigt] Werte werden 2x ausgegeben PHP Tipps 2004 2 13.06.2004 14:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html formularfeld mehrere werte, formular php email mehrere werte, formular php mehrere werte email

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.