mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 06.12.2016 15:32 Benutzername: Passwort: Auto-Login

Thema: [PHP] <select>array auslesen vom 13.12.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] <select>array auslesen
Seite: 1, 2, 3  Weiter
Autor Nachricht
out
Threadersteller

Dabei seit: 14.11.2002
Ort: koblenz
Alter: 32
Geschlecht: Männlich
Verfasst Mi 13.12.2006 09:22
Titel

[PHP] <select>array auslesen

Antworten mit Zitat Zum Seitenanfang

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 Lächel
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Mi 13.12.2006 09:38
Titel

Antworten mit Zitat Zum Seitenanfang

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;   
}
  View user's profile Private Nachricht senden
Anzeige
Anzeige
out
Threadersteller

Dabei seit: 14.11.2002
Ort: koblenz
Alter: 32
Geschlecht: Männlich
Verfasst Mi 13.12.2006 13:33
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
beeviZ

Dabei seit: 30.09.2002
Ort: Dortmund
Alter: 23
Geschlecht: Männlich
Verfasst Mi 13.12.2006 13:52
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 41
Geschlecht: Männlich
Verfasst Mi 13.12.2006 15:00
Titel

Antworten mit Zitat Zum Seitenanfang

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 />"; }
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
out
Threadersteller

Dabei seit: 14.11.2002
Ort: koblenz
Alter: 32
Geschlecht: Männlich
Verfasst Mi 13.12.2006 17:33
Titel

Antworten mit Zitat Zum Seitenanfang

In solchen momenten weiß ich mgi zu schätzen. vielen dank für die schnelle hilfe - hat bestens funktioniert Lächel
  View user's profile Private Nachricht senden
anett

Dabei seit: 06.12.2004
Ort: -
Alter: 33
Geschlecht: Weiblich
Verfasst Mi 23.01.2008 14:10
Titel

gleiche problem

Antworten mit Zitat Zum Seitenanfang

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;
}

?>
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 41
Geschlecht: Männlich
Verfasst Mi 23.01.2008 14:13
Titel

Antworten mit Zitat Zum Seitenanfang

dein select feld lässt nur eine auswahl zu, demnach kann das array maximal einen wert beinhalten. du musst das selectfeld als multiple deklarieren.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [JS/PHP] Daten Aus Select-Box auswählen und aus DB auslesen
php: X-Fach Verschachteltes Array auslesen
Mehrdimensionales Array-Feld in PHP auslesen
Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
mehrdimensionales Array gezielt auslesen
JS Array in Cookie schreiben und richtig auslesen
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.