Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Cookie für List Menü ? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Cookie für List Menü ?


 
veil
12-12-2009, 13:56 
 
Hallo,

kann man mit einem Cookie die Werte von ListenMenüs speichern ?
In einem Suchformular sollen die gewählten Werte beibehalten werden, auch wenn die Seite neu geladen wird.

Wie kann man soetwas realisieren ?
Ich habe schon ne ganze Weile nach Coookies gesucht, aber bis jetzt nichts brauchbares gefunden.

 
combie
12-12-2009, 13:58 
 
Wo hast du denn gesucht?
Versuchs mal mit dem PHP Handbuch.

 
Kropff
12-12-2009, 14:50 
 
In einem Suchformular sollen die gewählten Werte beibehalten werden, auch wenn die Seite neu geladen wird.
Meinst du, nachdem das Formular abgeschickt wurde oder direkt zur Laufzeit? Also bei der Eingabe eines Wertes in ein Feld.

Peter

 
veil
12-12-2009, 16:33 
 
Also, man hat dann in der Suche die Möglichkeit eine ListenMenü auszuwählen. Die haben zum Bepsiel die Werte "Hund" "Katze" "Maus".
"Hund" ist dabei das vorgewählte Feld.

Wenn ich jetzt "Katze" auswähle und auf Suchen klicke sucht er und lädt dann wohl die Seite neu, sodass wieder "Hund" erscheint.

Ich möchte aber gerne, dass "Katze" erscheint, also der Wert den man vorher ausgewählt hat.

 
onemorenerd
12-12-2009, 16:36 
 
Warum willst das clientseitig lösen, mit Cookie und Javascript?

 
veil
12-12-2009, 16:40 
 
Ich weiss gar nicht wie man das lösen kann, eigentlich ist es mir egal.
Ich wäre froh wenn das einfach nur funktioniert...

 
wahsaga
12-12-2009, 17:02 
 
Stichwort: Affenformular

 
Kropff
12-12-2009, 17:24 
 
Du musst doch einfach nur den POST-Wert überprüfen. Also in etwa so:

echo '<option value="katze"';
if ('katze' == $_POST['tier'])
{
echo ' selected="selected"';
}
echo '>Katze</option>';

So vom Prinzip her.

Peter

 
veil
13-12-2009, 12:25 
 
Danke, das bedeutet also ich muss das ListMenü mit PHP ausgeben. Ich werde das mal ausprobieren...

 
veil
14-12-2009, 14:17 
 
Ne geht leider auch nicht. Gibt es nicht Cookies für soetwas?

 
Kropff
14-12-2009, 14:37 
 
Ne geht leider auch nicht.
Natürlich geht das. Zeig mal den Code.

Peter

 
streuner
14-12-2009, 14:37 
 
Ne geht leider auch nicht.

Das bezweifel ich ja etwas:). Wie sieht den dein Versuch bisher aus?

mfg streuner

 
veil
14-12-2009, 20:41 
 
Das ist das SelectMenü:

<select name="kategorie" id="kategorie" >
<option value="Katze">Katze</option>
<option value="Hund">Hund</option>
<option value="" selected="selected">-</option>
</select>

Wie soll man den PHP Code denn dort einfügen.
Oder muss der da nicht hinein ?

 
Kropff
14-12-2009, 20:50 
 
Ne geht leider auch nicht. Gibt es nicht Cookies für soetwas?
Das ist das SelectMenü:

<select name="kategorie" id="kategorie" >
<option value="Katze">Katze</option>
<option value="Hund">Hund</option>
<option value="" selected="selected">-</option>
</select>

Wie soll man den PHP Code denn dort einfügen.
Oder muss der da nicht hinein ?
Ich habe dir doch schon gezeigt, wie das prinzipiell funktioniert. Ein wenig selber mitdenken solltest du aber schon. Nimm meinen Code und pass den für jeden option-Element an. Wenn du das nicht kannst, solltest du dir erst mal die entsprechenden Grundlagen (http://www.peterkropff.de/site/php/php.htm) aneignen. :)

Peter

PS: Meine Lösung ist deutlich einfacher, als wenn du mit Cookies arbeitest. Glaub es mir.

 
AmicaNoctis
14-12-2009, 20:52 
 
Das sind Grundlagen, die eigentlich nicht in dieses Forum gehören dürften. PHP: Den HTML-Bereich der Datei verlassen - Manual (http://www.php.net/manual/de/language.basic-syntax.phpmode.php)

Zum Thema Cookies. selbst wenn die Daten aus einem Cookie kommen würden, müsstest du es trotzdem genauso machen.

 
veil
14-12-2009, 21:26 
 
Ja ok, ich werde das morgen mal versuchen.
Aber eine Frage habe ich noch. Katze und Hund sind Kategorien.
Ich möchte halt etwas in der Datenbank suchen.
Und zwar alle "Suchwörter" der Kategorie Hund, Maus und/oder "Katze".

Ich habe das schon mit Select... OR versucht aber das klappt auch irgendwie nicht.

Also ich habe dann entweder Hund, Maus oder Katze in der Tabellenspalte Kategorie stehen.
Jetzt soll der Herr Mysql alle Datensätze anzeigen, welche das Wort Hund, Maus und/oder Katze stehen haben.

Habt ihr ne Ahnung wie das geht ?

"SELECT * FROM tabelle WHERE tabellen.spalte LIKE '%$suchwort%'
AND (tabellen.kategorie LIKE '%$Hund%' OR tabellen.kategorie LIKE '%$Katze%' OR tabellen.kategorie LIKE '%$Maus%')


:dontknow:

 
wahsaga
14-12-2009, 21:45 
 
Auch bzgl. dieser Frage gilt, wenn du das ganze vernünftig umsetzen willst, zuerst wieder, was dir bereits gesagt wurde (http://www.php-resource.de/forum/php-developer-forum/98307-wie-fragt-man-kategorien-ab.html#post631312).

 
veil
14-12-2009, 21:53 
 
Meine Tabelle ist schon in Ordnung wie sie ist. Ich benötige Hilfe
bei der Abfrage, mehr doch nicht. Die müsste ja so funktionieren wie da steht.
Tut sie aber nicht.

 
wahsaga
14-12-2009, 21:56 
 
Meine Tabelle ist schon in Ordnung wie sie ist.
Nein, ist sie nicht.
Je länger du dich weigerst, das anzuerkennen - desto länger wird es dauern, bis du eine vernünftige Lösung produzierst.

Die müsste ja so funktionieren wie da steht.
Tut sie aber nicht.
Dann unternehme die üblichen Debug-Maßnahmen.

 
Kropff
14-12-2009, 21:59 
 
@veil

Sorry, aber dir fehlen wirklich die elementarsten Grundkenntnisse. Darum solltest du die dir schnellstmöglich aneignen. Als Anlaufstelle kann dir unter Umständen meine Seite (siehe Signatur) weiterhelfen.

Peter

 
veil
14-12-2009, 22:05 
 
Du weisst also wie meine Tabelle aussieht, interessant.
Wie spielt denn Schalke am nächsten Wochende ?

 
Kropff
14-12-2009, 22:09 
 
Du weisst also wie meine Tabelle aussieht, interessant.
Wie spielt denn Schalke am nächsten Wochende ?
Sie gewinnen! Blau und weiß, wie lieb ich dich, ... .Spaß beseite. Im Gegensatz zum nächsten Schalke-Spiel kann man bei dir auf Grund der Abfragen schon Rückschlüsse auf die Tabellenstruktur ziehen. Und die sieht nicht so gut aus.

Peter

 
AmicaNoctis
14-12-2009, 22:09 
 
Deine Abfrage kann so nicht funktionieren. Informier dich bitte, wozu die % wirklich gut sind. Dann erkennst du auch, dass du die völlig falsch einsetzt.

Was deine etwas rechthaberische Art angeht, wenn du (von Experten!) freundlich darauf hingewiesen wirst, dass deine DB nicht in Ordnung ist: Glaub denen, die sich auskennen. Ob du es umsetzt, bleibt ja dir überlassen, aber erzähl bitte nicht, dass alles perfekt ist, wenn du so wenig Grundlagenwissen erkennen lässt. Das frustriert deine Helfer und senkt deine Chancen auf Hilfe. ;)

 
veil
14-12-2009, 22:16 
 
Ohne die % geht gar nichts.

Ist mir auch egal, gibt noch andere Foren.

 
Kropff
14-12-2009, 22:17 
 
Ist mir auch egal, gibt noch andere Foren.
Und da wirst du dieselben Antworten bekommen wie hier.

Peter

 
AmicaNoctis
14-12-2009, 22:58 
 
Ohne die % geht gar nichts.

Ich hab auch nicht gesagt, dass du die überall ganz weglassen sollst, lediglich dass du sie falsch einsetzt und dich über den richtigen Einsatz informieren solltest.

 
veil
15-12-2009, 11:13 
 
Hier ist jetzt das ListMenü mit PHP

<select name="kategorie" id="kategorie">
<?php echo '<option value="katze"';?>katze</option>
<?php if ('katze' == $_POST['kategorie'])
{
echo ' selected="selected"';
}
echo '>Katze</option>';?>
<option value="hund">hund</option>
<option value="" selected="selected">-</option>
</select>

Dort wo Katze sein sollte, erscheint aber nur ein leeres Auswahlfeld.
Die Webseite habe ich mir durchgelesen.

 
Kropff
15-12-2009, 11:36 
 
<?php echo '<option value="katze"';?>katze</option>

Da hast du zuviel angegeben (katze</option>). Schau dir nochmal genau mein Beispiel an. Dann klappt es auch. :)

Peter

 
wahsaga
15-12-2009, 11:37 
 
Dort wo Katze sein sollte, erscheint aber nur ein leeres Auswahlfeld.
Dann schau doch bitte mal, was dein Code für ein HTML erzeugt.

Wenn kategorie=='katze', dann gibst du
<option value="katze"katze</option>
selected="selected">Katze</option>
aus.

Hältst du das für sinnvoll?

Die Webseite habe ich mir durchgelesen.
Statt überfliegen bitte mal mit Verstehen versuchen.

 
veil
15-12-2009, 12:06 
 
<?php echo '<option value="katze"';
if ('katze' == $_POST['kategorie'])
{
echo ' selected="selected"';
}
echo '>Katze</option>';?>
<option value="hund">hund</option>
<option value="" selected="selected">-</option>
</select>

Jetzt erscheinen nur die Wörter Katze und Hund als Text.
Es ist kein Select Menü mehr zu sehen.

 
streuner
15-12-2009, 12:15 
 
<?php echo '<option value="katze"';
if ('katze' == $_POST['kategorie'])
{
echo ' selected="selected"';
}
echo '>Katze</option>';?>
<option value="hund">hund</option>
<option value="" selected="selected">-</option>
</select>Jetzt erscheinen nur die Wörter Katze und Hund als Text.
Es ist kein Select Menü mehr zu sehen.

Code ist besser, aber du hast 2x selected="selected" drin und ein <select size=... name=...> am Anfang wäre auch nicht schlecht (siehe dafür die bereits genannten Links).

mfg streuner

 
wahsaga
15-12-2009, 12:17 
 
Jetzt erscheinen nur die Wörter Katze und Hund als Text.
Es ist kein Select Menü mehr zu sehen.
Dann schau in den HTML-Code, den dein Script erzeugt - und vergleiche den mit dem statischen Beispiel, das du zuvor erstellt hast.

Und lerne bitte langsam mal, wenigstens diesen Schritt selber zu vollziehen - und nicht immer wieder nur "funzt nich"-Postings abzusetzen.

 
Kropff
15-12-2009, 12:18 
 
Weil das hier fehlt!
<select name="kategorie" id="kategorie">
Und du zwei selected hast! Außerdem solltest du wirklich mal ein wenig selber denken!

Peter

 
veil
15-12-2009, 12:38 
 
Wahnsinn.
Jetzt funtioniert das.
Muss ich gleich ersteinmal abspeichern, damit ich das jederzeit wiederfinde.


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:33 Uhr.