04. september 2006 - 20:53
Der er
9 kommentarer og 1 løsning
poste på alt i form
Hej. Hvis man har en form, der hedder 'form', kan man så poste på alt i den form på een gang. Altså i stedet for at skrive: function sendmail($_POST['felt1'], $_POST['felt2'], $_POST['felt3']..osv.osv.osv..) kan man så skrive noget lignende: function sendmail($_POSTALL['form']) ...og så bruge felterne en ad gangen i funktionen bagefter....?
Annonceindlæg fra Computerworld
04. september 2006 - 21:13
#1
Du kunne vel bare give alle input felter samme navn? Så skal du bare huske at lave diverse linieskift i teksten manuelt. Altså fx skal der være linieskift mellem overskriften og selve mailen fx. Håber du forstår.
04. september 2006 - 22:19
#2
Hvis du alligevel skal bruge felterne én ad gangen bagefter, så er der ingen grund til at poste dem oveni hinanden
04. september 2006 - 22:37
#3
aco --> jeg tror ikke jeg helt forstår. Kan du uddybe, hvad du mener? shooka --> jeg skal bruge dem en ad gangen bagefter i den funktion, som jeg kalder, så jeg ved ikke lige hvordan jeg ellers skal gøre det...
04. september 2006 - 22:50
#4
Jeg tror ikke helt jeg forstår hvad du mener, kan du ikke prøve at poste din funktion her?
04. september 2006 - 23:09
#5
Den kommer her i en forenklet udgave: <form name="inqui" method="post" action="index2.php?id=4&mainid=4" style="display:inline;"> <tr> <td>Name: </td> <td><input name="name" type="text" id="name" value="" size="30"></td> </tr> <tr> <td>Address: </td> <td><textarea name="address" cols="35" rows="3" id="address" style="font-family:Verdana, Arial, Helvetica, sans-serif;"></textarea><br> <input type="hidden" name="send" value="inqui"><input type="submit" name="Submit" value="Send"></td> </tr> </form> if ($_POST['send'] == 'inqui') { sendPriceEnquiry($_POST['name'], $_POST['address']); } function sendPriceEnquiry($name, $address) { $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: <info@domain.dk>\r\n"; $receiver = 'info@domain.dk'; $subject = 'New Price Enquiry'; $text .= '<table cellpadding="0" cellspacing="0" style="font-size:12px; color:#000033;"><tr><td width="125">'; $text .= 'Name: '; $text .= '</td><td>'; $text .= $name; $text .= '</td></tr>'; $text .= '<tr><td>'; $text .= 'Address: '; $text .= '</td><td>'; $text .= $address; $text .= '</td></tr></table>'; mail($receiver, $subject, $text, $headers); }
04. september 2006 - 23:26
#6
Hvad vil du med en $_POST, der kan klare alle informationerne på en gang? Hvis du vil gøre det kortere, så kan du jo bare gøre sådan: $text = '<table cellpadding="0" cellspacing="0" style="font-size:12px; color:#000033;"><tr><td width="125">Name:</td><td>'.$name.'</td></tr><tr><td>Address:</td><td>'.$address.'</td></tr></table>';
04. september 2006 - 23:26
#7
Du har jo alligevel kun 3 informationer
05. september 2006 - 00:10
#8
m_bold du skal bare gennemløbe din $_POST fx.: <?php function create_table($array) { $table = '<table border="1" cellpadding="0" cellspacing="0">'; foreach(array_keys($array) as $Name) { $table .= '<tr><td>'.$Name.':</td>'; $table .= '<td>'.$array[$Name].'</td></tr>'; } return $table.'</table>'; } ?> <form method="post" action="#"> <input name="name" type="text" value="" size="20"><br> <textarea name="address" cols="40" rows="10"></textarea><br> <input type="submit" value=" Send "> </form> <?=create_table($_POST);?>
05. september 2006 - 09:24
#9
shooka --> jeg har mange flere informationer. Som jeg skriver er det en forenklet udgave, jeg har postet. sjh --> lige præcis. Det var det jeg var ude efter. Smid et svar og tak for hjælpen.
05. september 2006 - 12:33
#10
svar..
Vi tilbyder markedets bedste kurser inden for webudvikling