Autor |
Nachricht |
out
Threadersteller
Dabei seit: 14.11.2002
Ort: koblenz
Alter: 39
Geschlecht:
|
Verfasst Mi 13.12.2006 09:22
Titel [PHP] <select>array auslesen |
|
|
moje,
habe als php-noob wohl ein sehr banales problem. eine <select> auswahl wird an ein mail-script per post übergeben. damit liegt mir ein array vor. wie kriege ich jetzt die benutzerauswahl aus dem array ausgelesen und angezeigt?
danke schonmal
|
|
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Mi 13.12.2006 09:38
Titel
|
|
|
Haeng einfach ein [] an den Namen des SELECT-Felds:
Code: | <select name="myselect[]" size="3" multiple="multiple">
<option>Punkt 1</option>
<option>Punkt 2</option>
<option>Punkt 3</option>
...
</select> |
Dann bekommst du ein Array mit diesem Namen uebergeben:
Code: | foreach( $myselect as $s ) {
echo $s;
} |
|
|
|
|
|
Anzeige
|
|
|
out
Threadersteller
Dabei seit: 14.11.2002
Ort: koblenz
Alter: 39
Geschlecht:
|
Verfasst Mi 13.12.2006 13:33
Titel
|
|
|
sorry, dass ich mich so dämlich anstelle. was bewirkt die foreachschleife? die variable $s enthält dann den value des ausgewählten <option> feldes?
|
|
|
|
|
beeviZ
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 13.12.2006 13:52
Titel
|
|
|
mit myselect[] sagste dem formular/php das mehrere eingaben in nem array gespeichert werden sollen. das array hat dann die form:
$myselect[0] = 'Punkt 1';
$myselect[1] = 'Punkt 2';
$myselect[2] = 'Punkt 3';
je nachdem wieviele punkte gewählt wurden.
durch die schleife sagst du im prinzip:
für jeden datensatz im array "myselect" -> foreach($myselect
gib mir den entsprechenden wert als variable "s" aus -> AS $s)
die Ausgabe wäre hier also im prinzip:
Punkt 1Punkt 2Punkt 3
Zuletzt bearbeitet von beeviZ am Mi 13.12.2006 13:53, insgesamt 1-mal bearbeitet
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Mi 13.12.2006 15:00
Titel
|
|
|
out hat geschrieben: | sorry, dass ich mich so dämlich anstelle. was bewirkt die foreachschleife? die variable $s enthält dann den value des ausgewählten <option> feldes? |
um sowohl name als auch value zu bekommen kannst du die foreach schleife noch um den key erweitern
Code: |
foreach ($arr as $v => $key) { echo $v ." ". $key ."<br />"; }
|
|
|
|
|
|
out
Threadersteller
Dabei seit: 14.11.2002
Ort: koblenz
Alter: 39
Geschlecht:
|
Verfasst Mi 13.12.2006 17:33
Titel
|
|
|
In solchen momenten weiß ich mgi zu schätzen. vielen dank für die schnelle hilfe - hat bestens funktioniert
|
|
|
|
|
anett
Dabei seit: 06.12.2004
Ort: -
Alter: 40
Geschlecht:
|
Verfasst Mi 23.01.2008 14:10
Titel gleiche problem |
|
|
hi ich hab gerad das gleiche problem, irgendwie blick ich es aber nicht, da ich von php nicht die ahnung habe.
wäre toll wenn mir jemand noch einen tipp geben könnte.
ich hab jetzt schonmal, die klammer [] mit eingefügt, wie ich bei den anderen posts gelesen habe, fehlt das ja noch.
weis aber nicht genau wie ich das mit der foreach schleife einbaue.
aus der html seite
Code: |
<form action="kontakt.php" method="POST">
Seminar:
<label>
<select name="seminar[]" size="1" id="seminar">
<option selected="seminar">Wählen Sie</option>
<option>Seminar 1</option>
<option>Seminar 2</option>
<option>Seminar 3</option>
<option>Seminar 4</option>
<option>Seminar 5</option>
</select>
</label>
</form>
|
aus der config.php
Code: |
<?
$txt=array();
#Texte vor den Eingabefeldern
$txt['seminar']="Seminar";
?>
|
das ist die kontakt.php
Code: |
<?
error_reporting(0);
include("header.php");
include("config.php");
function check_email($email)
{
return (eregi('^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,4}$',$email)==false ? false : true);
}
$content=file_get_contents("kontakt_test.htm");
$show_form=true;
if(isset($_POST['submit']))
{
$v_seminar=htmlentities($_POST['seminar']);
$v_email = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $v_email );
$v_email = preg_replace( "/(content-type:|bcc:|cc:|to:|from:-)/im", "", $v_email);
if(empty($v_vorname))echo $errors['vorname']."<br>";
elseif(empty($v_nachname))echo $errors['nachname']."<br>";
elseif(empty($v_email)||!check_email($v_email))echo $errors['email']."<br>";
elseif(empty($v_nachricht))echo $errors['nachricht']."<br>";
else
{
$show_form=false;
$data=array();
$data['ip'] = $_SERVER['REMOTE_ADDR'];
$data['host'] = gethostbyaddr($data['ip']);
$data['browser'] = $_SERVER['HTTP_USER_AGENT'];
$data['ref'] = $_SERVER['REQUEST_URI'];
$data['ref2'] = $_SERVER['HTTP_REFERER'];
$email_admin=file_get_contents("email_admin.txt");
$email_kunde=file_get_contents("email_kunde.txt");
foreach($txt as $n=>$w)
{
$email_admin=str_replace("{v_".$n."}",${"v_$n"},$email_admin);
$email_kunde=str_replace("{v_".$n."}",${"v_$n"},$email_kunde);
}
foreach($data as $n=>$w)
{
$email_admin=str_replace("{".$n."}",$w,$email_admin);
$email_kunde=str_replace("{".$n."}",$w,$email_kunde);
}
$header = "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
$header .= "FROM: ".$mail_data['name_absender']."<".$mail_data['email_absender'].">\r\n";
$header .= "Reply-To: ".$mail_data['name_absender']."<".$mail_data['email_absender']."\r\n";
$header .= "X-Mailer: PHP/" . phpversion()."\r\n";
$sent_admin=@mail($mail_data['email_admin'],
$mail_data['betreff_admin'],
$email_admin,
$header);
$sent_kunde=@mail($v_email,
$mail_data['betreff_kunde'],
$email_kunde,
$header);
if($sent_admin&&$sent_kunde)header("Location: ".$mail_data['weiterleitung']);
else
{
echo $errors['nachricht_senden']."<br>";
$show_form=true;
}
}
}
else
{
$v_seminar="";
}
if($show_form)
{
foreach($txt as $n=>$w)
{
$content=str_replace("{".$n."}",$w,$content);
$content=str_replace("{v_".$n."}",${"v_$n"},$content);
}
$content=str_replace("{submit}",$txt2['submit'],$content);
echo $content;
}
?> |
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Mi 23.01.2008 14:13
Titel
|
|
|
dein select feld lässt nur eine auswahl zu, demnach kann das array maximal einen wert beinhalten. du musst das selectfeld als multiple deklarieren.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[JS/PHP] Daten Aus Select-Box auswählen und aus DB auslesen
php: X-Fach Verschachteltes Array auslesen
mehrdimensionales Array gezielt auslesen
Mehrdimensionales Array-Feld in PHP auslesen
JS Array in Cookie schreiben und richtig auslesen
Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
|
|