variablen aus dropdownmenu auf nächste seite

Saddel

Grünschnabel
hi ich hab da ne frage . ich möchte das eine varible aus einem dropdownmenu ausgewählt werden kann und diese ausgewählte varible soll dann auf der nächsten seite ausgegeben werden.

bisher hab ich das gebastelt. ich kriege es aber nicht auf der nächsten seite angezeigt.. p.s. bin anfänger

die auswahlseite sieht so aus

<?php
$tarif1 = "Beleganfrage";
$tarif2 = "Rechnung";
$tarif3 = "1.Mahnung";
$tarif3 = "2.Mahnung";
$tarif3 = "3.Mahnung";

<form name="formular" action="formular.php" method="post">
<select name="formular">
<option selected value="'. $tarif1 .'">' . Beleganfrage . '
<option selected value="'. $tarif2 .'">' . Rechnung . '
<option selected value="'. $tarif3 .'">' . 1.Mahnung . '
<option selected value="'. $tarif4 .'">' . 2.Mahnung . '
<option selected value="'. $tarif5 .'">' . 3.Mahnung . '
</option>
</select>
</form>
?>

eigentlich sollte die ausgewählte variable immer den selben variblenwert haben und nicht 1,2,3,4 oder 5
und wie sieht das script aus, auf der nächsten seite?

danke für hilfe und tipps
 
Hi probiers mal so:

die seite die dein formular abschickt:
PHP:
<?php
$tarif1 = "Beleganfrage";
$tarif2 = "Rechnung";
$tarif3 = "1.Mahnung"; 
$tarif3 = "2.Mahnung"; 
$tarif3 = "3.Mahnung"; 

echo '
<form name="formular" action="formular.php" method="post">
  <select name="selectfeldVariable">
    <option selected value="'.$tarif1.'">Beleganfrage</option>
    <option selected value="'.$tarif2.'">Rechnung</option>
    <option selected value="'.$tarif3.'">1.Mahnung</option>
    <option selected value="'.$tarif4.'">2.Mahnung</option>
    <option selected value="'.$tarif5.'">3.Mahnung</option>
  </select>
  <input name="submit" type="submit" value="submit"/>
</form>
'
?>
und auf formular.php wird mit
PHP:
echo $_POST['selectfeldVariable'];
deine variable ausgegeben.

du solltest jedoch immer mit
PHP:
if (isset($_POST['selectfeldVariable']))
{
    echo $_POST['selectfeldVariable'];
}
überprüfen ob deine variable angekommen ist, bevor du sie weiter verarbeitest
 
Hi,

ich möcht' auch einen kleinen Code-Schnippsel beitragen. Und zwar verwende ich zum überprüfen von GET- und POST-Variablen diese beiden Funktionen:

PHP:
function valGet($var, $default = false) {
    if ( isset($_GET[$var]) && !empty($_GET[$var]) )
        return $_GET[$var];
    else
        return $default;
}

function valPost($var, $default = false) {
    if ( isset($_POST[$var]) && !empty($_POST[$var]) )
        return $_POST[$var];
    else
        return $default;
}


Deren Funktion ist recht leicht ersichtlich: $_POST[$var] bzw. $_GET[$var] werden auf Existenz und Inhalt geprüft und bei erfolgreicher Prüfung wird deren Wert zurückgegeben, ansonsten spucken die Funktionen einen (über|vor)gegebenen Defaultwert aus...

Für eine einfache Überprüfung reicht es, und prinzipiell kann man die auch noch auf Typuntersuchung ausbauen ;-)

LG
Dominik
 
hmm seltsam..beim ersten versuch hat es geklappt, sprich die erste variable wurde angezeit, danach blieb formular.php leer, es wurde gar nichts mehr angezeigt, so oft ich aktualisiere .. woran liegt das?

... mittlerweile zeigt er das ergebnis zwar manchmal an..aber nur bei jeden dritten oder fünften versuch..
 
Zuletzt bearbeitet:
Poste doch mal deinen gesamten Code mit allen Infos. Hast du alles in einer Datei, hast du den Code auf zwei Datein aufgeteilt, usw.

Du machst vermutlich nur irgendeine kleinigkeit falsch.
(Das die Variable auf formular.php nur das erste mal angezeigt wird nachdem die Seite durch den Formularversand aufgerufen wird weist du?)
 
öhöm peinlich peinlich ..hab den fehler gefunden.. steht bereits hier.. die zuweisung der variablen ganz am anfang szimmen nicht so ganz, denn der bereich nahmnung hat jeweils die zuweisung tarif3 ... ich habs geändert und es t jetzt..

noch ne frage.. wie kann ich selbst eingetippte werte an die selbe seite senden?
 
Also, wenn ich den HTML-Code inspiziere, fällt mir doch glatt was auf...

HTML:
<form name="formular" action="formular.php" method="post"> 
  <select name="selectfeldVariable"> 
    <option selected value="'.$tarif1.'">Beleganfrage</option> 
    <option selected value="'.$tarif2.'">Rechnung</option> 
    <option selected value="'.$tarif3.'">1.Mahnung</option> 
    <option selected value="'.$tarif4.'">2.Mahnung</option> 
    <option selected value="'.$tarif5.'">3.Mahnung</option> 
  </select> 
  <input name="submit" type="submit" value="submit"/> 
</form>
Da jede Option "selected" ist, wird nur die erste jedes Mal ausgewählt. Der überarbeitete Code schaut so aus:

PHP:
<?php

/**
 * Dateiname: formular.php
 */

$selVar = valGet('selectfeldVariable', 'beleganfrage');


?>
<form name="formular" action="formular.php" method="post"> 
  <select name="selectfeldVariable">
    <option<?php echo $selVar == 'beleganfrage' ? 'selected="selected" ' : ''; ?> value="beleganfrage">Beleganfrage</option> 
    <option<?php echo $selVar == 'rechnung' ? 'selected="selected" ' : ''; ?> value="rechnung">Rechnung</option> 
    <option<?php echo $selVar == 'mahnung1' ? 'selected="selected" ' : ''; ?> value="mahnung1">1.Mahnung</option> 
    <option<?php echo $selVar == 'mahnung2' ? 'selected="selected" ' : ''; ?> value="mahnung2">2.Mahnung</option> 
    <option<?php echo $selVar == 'mahnung3' ? 'selected="selected" ' : ''; ?> value="mahnung3">3.Mahnung</option> 
  </select> 
  <input name="submit" type="submit" value="Absenden"/> 
</form>

Die verwendete Funktion "valGet()" hab ich weiter oben schon gepostet. Das sollte nun gehen ;-)

LG
Dominik
 
durch meine änderung der variblen t es jetzt ständig

was ich noch brauche ist eben die methode, um selbst eingegebene werte an die seite formular.php zu senden
 
durch meine änderung der variblen t es jetzt ständig

was ich noch brauche ist eben die methode, um selbst eingegebene werte an die seite formular.php zu senden

Ja, der PHP-Code zwei Posts weiter oben macht genau dies.

Vorraussetzung ist allerdings, dass der obige Code in der Datei "formular.php" steht, bzw. allgemeiner: in der Datei, die die POST-Daten empfängt.

LG
Dominik
 
einen
<input name="variablename" type="text" size="20" maxlength="50" />
innerhalb des Formulartags

und auf formular.php

hast du dann $_POST['variablename']
 
Zurück