php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 13-03-2012, 11:57
zumWinkel321
 Registrierter Benutzer
Links : Onlinestatus : zumWinkel321 ist offline
Registriert seit: Mar 2012
Beiträge: 9
zumWinkel321 befindet sich auf einem aufstrebenden Ast
Standard Listbox-Auswahl in Session speichern

Hallo,

ich habe eine Listbox mit 4 vorgegebenen Werten in einem Formular. Nun soll der zuletzt gewählte Eintrag in der Session gespeichert werden damit beim nächsten Aufruf des Formulars voreingestellt zu sein. Eigentlich eine einfache Aufgabenstellung.

Nun ist mir zur Umsetzung leider nichts besseres eingefallen als zunächst den Wert aus der Session zu holen und mit 4 String-Vergleichen jeweils abzufragen, ob der Wert nun der gewünschte Wert ist. Und falls das der Fall ist, schreibe ich in eine Variable $option1 bis $option4 den String "selected=\"selected\"" um dann in der echo-Ausgabe die variable mit auszugeben die nur beim richtigen, selektierten Wert das selected ausgibt.

Das funktioniert auch alles so wie es soll, mein Problem ist eher das dieses triviale Problem 20 Codezeilen und einen enormen Aufwand produziert. In ASP.net ist das ein Zweizeiler, in php ein 20-Zeiler. Das muss doch besser gehen.
Mit Zitat antworten
  #2 (permalink)  
Alt 13-03-2012, 12:08
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

zeig bitte deinen 20 Zeiler und dann kürzen wir den mal ;-)!

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #3 (permalink)  
Alt 13-03-2012, 12:34
zumWinkel321
 Registrierter Benutzer
Links : Onlinestatus : zumWinkel321 ist offline
Registriert seit: Mar 2012
Beiträge: 9
zumWinkel321 befindet sich auf einem aufstrebenden Ast
Standard gesamter Code

Das ist jetzt die gesamte Seite:

PHP-Code:
<!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">

<head>
  <title></title>
</head>

<body>

<?php

$testWert 
$_POST['textboxTest'];
$ausSession $_SESSION['wert'];

if (
strcmp($testWert"") != 0)
{
  
$_SESSION['wert'] = $testWert;
  
$ausSession $testWert;
}

if (
strcmp($ausSession"rot") == 0
  
$rot "selected=\"selected\"";
if (
strcmp($ausSession"gruen") == 0
  
$gruen "selected=\"selected\"";
if (
strcmp($ausSession"blau") == 0
  
$blau "selected=\"selected\"";
if (
strcmp($ausSession"gelb") == 0
  
$gelb "selected=\"selected\"";
if (
strcmp($ausSession"magenta") == 0
  
$magenta "selected=\"selected\"";
if (
strcmp($ausSession"cyan") == 0
  
$cyan "selected=\"selected\"";
if (
strcmp($ausSession"schwarz") == 0
  
$schwarz "selected=\"selected\"";
  
  
echo <<< EOD

<form name="form1" method="post" action="" target="_self">

  <select name="textboxTest" size="1">
  <option value="rot" $rot>rot</option>
  <option value="gruen" $gruen>gruen</option>
  <option value="blau" $blau>blau</option>
  <option value="gelb" $gelb>gelb</option>
  <option value="magenta" $magenta>magenta</option>
  <option value="cyan" $cyan>cyan</option>
  <option value="schwarz" $schwarz>schwarz</option>
  </select>

  <br /><br />
  <input type="submit" name="Senden" value="Senden" />

</form>

EOD;
?>

</body>

</html>
Mit Zitat antworten
  #4 (permalink)  
Alt 13-03-2012, 12:53
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Eine Möglichkeit:

PHP-Code:
<form name="form1" method="post" action="">
  <select name="textboxTest" size="1">
  <option value="rot" <?php if($_POST["textboxTest"] == "rot"){ echo "selected=\"selected\""; } ?>>rot</option>
  <option value="gruen" <?php if($_POST["textboxTest"] == "gruen"){ echo "selected=\"selected\""; } ?>>gruen</option>
  <option value="blau" <?php if($_POST["textboxTest"] == "blau"){ echo "selected=\"selected\""; } ?>>blau</option>
  <option value="gelb" <?php if($_POST["textboxTest"] == "gelb"){ echo "selected=\"selected\""; } ?>>gelb</option>
  <option value="magenta" <?php if($_POST["textboxTest"] == "magenta"){ echo "selected=\"selected\""; } ?>>magenta</option>
  <option value="cyan" <?php if($_POST["textboxTest"] == "cyan"){ echo "selected=\"selected\""; } ?>>cyan</option>
  <option value="schwarz" <?php if($_POST["textboxTest"] == "schwarz"){ echo "selected=\"selected\""; } ?>>schwarz</option>
  </select>
  <br /><br />
  <input type="submit" name="Senden" value="Senden" />
</form>
...möglich auch z.B. mit ner Whitelist und in ner Foreach-Schleife usw.

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #5 (permalink)  
Alt 13-03-2012, 13:23
zumWinkel321
 Registrierter Benutzer
Links : Onlinestatus : zumWinkel321 ist offline
Registriert seit: Mar 2012
Beiträge: 9
zumWinkel321 befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank schonmal für die Antwort.

Ist es auch möglich die if-Abfragen direkt in der EOD oder EOT ausgabe abzuarbeiten? Denn es ist mir leider vorgegeben dass die komplette Datei eine php-Datei ist. Ich kann nicht php ins html einbetten.
Mit Zitat antworten
  #6 (permalink)  
Alt 13-03-2012, 13:26
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

...speicher das doch als PHP File ab (war ja auch so gedacht)

PHP-Code:
<!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">

<head>
  <title></title>
</head>

<body> 
<form name="form1" method="post" action="">
  <select name="textboxTest" size="1">
  <option value="rot" <?php if($_POST["textboxTest"] == "rot"){ echo "selected=\"selected\""; } ?>>rot</option>
  <option value="gruen" <?php if($_POST["textboxTest"] == "gruen"){ echo "selected=\"selected\""; } ?>>gruen</option>
  <option value="blau" <?php if($_POST["textboxTest"] == "blau"){ echo "selected=\"selected\""; } ?>>blau</option>
  <option value="gelb" <?php if($_POST["textboxTest"] == "gelb"){ echo "selected=\"selected\""; } ?>>gelb</option>
  <option value="magenta" <?php if($_POST["textboxTest"] == "magenta"){ echo "selected=\"selected\""; } ?>>magenta</option>
  <option value="cyan" <?php if($_POST["textboxTest"] == "cyan"){ echo "selected=\"selected\""; } ?>>cyan</option>
  <option value="schwarz" <?php if($_POST["textboxTest"] == "schwarz"){ echo "selected=\"selected\""; } ?>>schwarz</option>
  </select>
  <br /><br />
  <input type="submit" name="Senden" value="Senden" />
</form> 

</body>
</html>

wo ist das Problem?!?

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #7 (permalink)  
Alt 13-03-2012, 13:33
zumWinkel321
 Registrierter Benutzer
Links : Onlinestatus : zumWinkel321 ist offline
Registriert seit: Mar 2012
Beiträge: 9
zumWinkel321 befindet sich auf einem aufstrebenden Ast
Standard

Das Problem ist, das im eigentlichen Projekt (das war ja nur eine Testdatei) die Ausgabeseite noch sehr viel aufwändiger zusammengebaut wird. Da werden Sachen aus der Datenbank gelesen und solche Geschichten.

Der Teil der Seite mit der Listbox ist nur so ein kleiner Teil einer EOT-Ausgabe. Und da muss das rein.

Das html wird also komplett und ausschließlich mit EOD und echo zusammengebaut.

Wenn es also geht if-Abfragen direkt im EOD auswerten zu lassen wäre das die Lösung. Ansonsten ist die massig-Variablen-Lösung wieder der einzige Weg...

edit: Ja, ich kann natürlich das EOD unterbrechen und echo nutzen. Das würde gehen. Unfassbar umständlich ist das aber trotzdem. Naja, son 2Zeiler wie bei ASP.net ist mit php vermutlich gar nicht hinzubekommen. Das liegt ja allein schon daran, dass man ne Listbox nicht als Objekt anfassen kann sondern ne Listbox in php nur ne Stringausgabe ist.

Geändert von zumWinkel321 (13-03-2012 um 13:35 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 13-03-2012, 13:42
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Untebrich doch dein EOD, wen nes nicht anders geht?!?


Zitat:
Naja, son 2Zeiler wie bei ASP.net ist mit php vermutlich gar nicht hinzubekommen. Das liegt ja allein schon daran, dass man ne Listbox nicht als Objekt anfassen kann sondern ne Listbox in php nur ne Stringausgabe ist.
zeig bitte den Zweizeiler mal! Möglich ist alles - das war jetzt eine Lösungsmöglichkeit von vielen!?!

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #9 (permalink)  
Alt 13-03-2012, 14:19
zumWinkel321
 Registrierter Benutzer
Links : Onlinestatus : zumWinkel321 ist offline
Registriert seit: Mar 2012
Beiträge: 9
zumWinkel321 befindet sich auf einem aufstrebenden Ast
Standard

In ASP.net kann ich es einfach so machen:


String wert = (String)Session["foobar"];
if (wert != null) meineListBox.SelectedValue = wert;



Fertig is. Wenn man die Auswertung auf der gleichen Seite macht wie die Listbox muss man noch ein bisschen aufpassen mit der Auswertungsreihenfolge von Button-Ereignissen. Das ist ein bisschen gewöhnungsbedürftig. Aber die Funktionalität ist in ASP.net mit den 2 Zeilen abgedeckt.

Edit: Nagut um den Wert selbst in die Session zu schreiben kommt noch eine Zeile hinzu. Also ist es ein 3-Zeiler.
Mit Zitat antworten
  #10 (permalink)  
Alt 13-03-2012, 14:20
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Fertig is. Wenn man die Auswertung auf der gleichen Seite macht wie die Listbox muss man noch ein bisschen aufpassen mit der Auswertungsreihenfolge von Button-Ereignissen. Das ist ein bisschen gewöhnungsbedürftig. Aber die Funktionalität ist in ASP.net mit den 2 Zeilen abgedeckt.
...z.B. in Kombination mit JavaScript geht das auch !

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #11 (permalink)  
Alt 13-03-2012, 14:28
zumWinkel321
 Registrierter Benutzer
Links : Onlinestatus : zumWinkel321 ist offline
Registriert seit: Mar 2012
Beiträge: 9
zumWinkel321 befindet sich auf einem aufstrebenden Ast
Standard

Aber danke auf jeden Fall für die schnelle Hilfe!
Mit Zitat antworten
  #12 (permalink)  
Alt 13-03-2012, 14:40
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

...anbei: falls Du die Daten aus ner Datenbank in ner Schleife ausliest, gibt es natürlich auch noch ne elegantere/schnellere Lösung!?

mfg streuner

P.S. Wenn man ganz pingelig ist, hat meins noch weniger Zeilen(!), da alles in der jeweiligen Zeilte "erledigt" wird ;-))!
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #13 (permalink)  
Alt 13-03-2012, 14:51
zumWinkel321
 Registrierter Benutzer
Links : Onlinestatus : zumWinkel321 ist offline
Registriert seit: Mar 2012
Beiträge: 9
zumWinkel321 befindet sich auf einem aufstrebenden Ast
Standard

Ja, ich weiß worauf du hinaus willst. Leider wird da nicht ausgelesen, welche Felder die Listbox haben soll. Diese Einträge sind fest im HTML verdrahtet.
Mit Zitat antworten
  #14 (permalink)  
Alt 13-03-2012, 14:55
zumWinkel321
 Registrierter Benutzer
Links : Onlinestatus : zumWinkel321 ist offline
Registriert seit: Mar 2012
Beiträge: 9
zumWinkel321 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
P.S. Wenn man ganz pingelig ist, hat meins noch weniger Zeilen(!), da alles in der jeweiligen Zeilte "erledigt" wird ;-))!

Naja, bei ASP.net klickt man sich ne Listbox zusammen, da wird der eigentliche HTML-Code erst später zu generiert. In dem Sinne hat man in ASP.net nichtmal die <option value...>-Tags im HTML (jedenfalls wenn man im Editor ist). Für den Client wird das natürlich dann doch generiert. Dann hat ASP eben doch wieder weniger Zeilen ;-)
Mit Zitat antworten
  #15 (permalink)  
Alt 13-03-2012, 15:10
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Naja, bei ASP.net klickt man sich ne Listbox zusammen, da wird der eigentliche HTML-Code erst später zu generiert.
Stichwort bei PHP: MVC

Zitat:
In dem Sinne hat man in ASP.net nichtmal die <option value...>-Tags im HTML (jedenfalls wenn man im Editor ist).
Ähnlich.

Zitat:
Dann hat ASP eben doch wieder weniger Zeilen ;-)
Wenn ich nachher noch Zeit habe, versuche ich das mal alles in einer Zeile zu machen

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Rechte in Session speichern Zokora PHP Developer Forum 6 15-04-2011 20:10
Auswahl Listbox wie auswerten? Canonn PHP Developer Forum 4 01-05-2008 08:29
mit php alle elemente einer listbox in ein array speichern mruniversum PHP Developer Forum 2 22-02-2007 15:01
Array in Session speichern lecorniaud PHP Developer Forum 2 10-09-2006 11:57
id in session speichern seril PHP Developer Forum 2 18-11-2004 07:22

Themen-Optionen
Thema bewerten
Thema bewerten:

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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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