Seite 1 von 4 1234 LetzteLetzte
Ergebnis 1 bis 20 von 68

Thema: [HTML] Auswahlmenü speichern lassen

  1. #1

    Arvan Gast

    [HTML] Auswahlmenü speichern lassen

    Hallo verehrtes Dev-Comm,

    ich habe folgendes Problemchen: Ich habe auf einer eigenen HTML-Seite folgenden Quelltext:

    Code:
    <form target="_blank" action="http://eu.wowarmory.com/character-sheet.xml">
    
    <big>Realm:</big><br>
    
    <select size="1" style="width: 235px; height: 20px" name="r">
    
    
    <optgroup label="Deutsch">
        <option value="Aegwynn">Aegwynn</option>
        <option value="Alexstrasza">Alexstrasza</option>
        <option value="Alleria">Alleria</option>
        <option value="Aman'Thul">Aman'Thul</option>
        <option selected value="Ambossar">Ambossar</option>
        <option value="Anetheron">Anetheron</option>
        <option value="Antonidas">Antonidas</option>
        <option value="Anub'arak">Anub'arak</option>
        <option value="Arthas">Arthas</option>
        <option value="Arygos">Arygos</option>
        <option value="Azshara">Azshara</option>
    (is nur ein Ausschnitt)

    Jetzt möchte ich das derjenige der seinen Server ausgewählt hat, das auch gespeichert bleibt! Wie stelle ich das an, was muss ich dafür tun?

  2. #2
    Das geht mit HTML überhaupt nicht, entweder speicherst du es Clientseitig über Cookies zB mit Javascript oder PHP, oder du speicherst serverseitig die Einstellungen, dann musst du aber den Nutzer identifiezieren können, wofür du auch Cookies und am besten ein Benutzersystem und Login brauchst.

    Unter PHP würde das so gehen:
    PHP-Code:
    <?php
    setcookie
    ('name_der_einstellung'$_POST['name_der_einstellung']);
    ?>
    Dann musst du aber noch daran denken, dem Formularelement den entsprechenden Namen zu verpassen. Zugreifen kannst du dann mit $_COOKIES['name_der_einstellung'].

  3. #3

    Arvan Gast
    Ähm.. ja... Danke^^

    Ich dachte da an Cookies genau, da ich aber überhaupt keine Ahnung davon habe wäre es nciht schlecht wenn du mir etwas mit dem Quelltext zu Hand gehen würdest

  4. #4
    Hi,

    http://de2.php.net/manual/de/function.setcookie.php

    da ist alles ganz genau beschrieben mit Beispielcode. Ich denke, dass wird dir weiter helfen wenn du ein aufmerksamer Leser bist.
    Außerdem ist so der Lerneffekt größer.

  5. #5
    Solltest du kein PHP verwenden können/wollen, und es nur mit Javascript versuchen zu lösen, so lass dich einfach mal auf SelfHTML, insbesondere document.cookie verweisen.

  6. #6

    Arvan Gast
    Trotz 10mal lesen der Anleitung bekomm ich es nicht hin, kann mir da einer nich das vormachen und ich versuche es zu verstehen?

  7. #7
    Was ist denn daran nicht zu verstehen? Da stehen doch sogar Beispielcodes.
    Viel mehr würdest du von uns auch nicht bekommen.
    Zeig doch mal was du da erstellt hast, dann können wir dir weiterhelfen.

  8. #8

    Arvan Gast
    Zitat Zitat von rgb Beitrag anzeigen
    Was ist denn daran nicht zu verstehen? Da stehen doch sogar Beispielcodes.
    Viel mehr würdest du von uns auch nicht bekommen.
    Zeig doch mal was du da erstellt hast, dann können wir dir weiterhelfen.
    Ich habe das mal versucht, aber da gab es irgend ne komische Warnung im Quelltext:

    HTML-Code:
    <form target="_blank" action="http://eu.wowarmory.com/character-sheet.xml" accept-charset="UTF-8">
    
    <big>Realm:</big><br>
    
    <?php
    setcookie('r', $_POST['r']);
    ?> 
    
    <select size="1" style="width: 235px; height: 20px" name="$_COOKIES['r']">
    
    
    <optgroup label="Deutsch">
        <option value="Aegwynn">Aegwynn</option>
        <option value="Alexstrasza">Alexstrasza</option>
        <option value="Alleria">Alleria</option>
        <option value="Aman'Thul">Aman'Thul</option>
        <option selected value="Ambossar">Ambossar</option>
        <option value="Anetheron">Anetheron</option>
    EDIT: Hoppla, ich glaube durch "option selected" is das klar, oder?^^ hatte aber noch keine zeit das auszuprobieren.

    Geändert von Arvan (28.04.2008 um 17:38 Uhr)

  9. #9
    Zitat Zitat von Arvan Beitrag anzeigen
    Ich habe das mal versucht, aber da gab es irgend ne komische Warnung im Quelltext:

    HTML-Code:
    <form target="_blank" action="http://eu.wowarmory.com/character-sheet.xml" accept-charset="UTF-8">
    
    <big>Realm:</big><br>
    
    <?php
    setcookie('r', $_POST['r']);
    ?> 
    
    <select size="1" style="width: 235px; height: 20px" name="$_COOKIES['r']">
    
    
    <optgroup label="Deutsch">
        <option value="Aegwynn">Aegwynn</option>
        <option value="Alexstrasza">Alexstrasza</option>
        <option value="Alleria">Alleria</option>
        <option value="Aman'Thul">Aman'Thul</option>
        <option selected value="Ambossar">Ambossar</option>
        <option value="Anetheron">Anetheron</option>
    EDIT: Hoppla, ich glaube durch "option selected" is das klar, oder?^^ hatte aber noch keine zeit das auszuprobieren.
    Du musst eigentlich nur noch eine Abfrage in jede <option> einbauen:
    PHP-Code:
    <option value="Ambossar" <?php if($_COOKIES['r'] == "Ambossar") { "selected" }?> >Ambossar</option>

  10. #10
    Zitat Zitat von rgb Beitrag anzeigen
    Du musst eigentlich nur noch eine Abfrage in jede <option> einbauen:
    PHP-Code:
    <option value="Ambossar" <?php if($_COOKIES['r'] == "Ambossar") { "selected" }?> >Ambossar</option>
    wtf, ist die Syntax korrekt? Ich würde da ja echo "selected"; schreiben, alleine schon, weils sauberer ist.

  11. #11
    Zitat Zitat von Arvan Beitrag anzeigen
    Ähm.. echo gibt doch was aus oder nicht? Ich will selected doch gar nich ausgeben^^
    Sondern? Selektieren? dann echo 'selected="selected"' .
    Ich glaube du verstehst nicht, dass PHP vor dem versenden der Daten an den Browser ausgeführt wird und dass man mit PHP nicht auf DOM oderso zugreifen kann.

  12. #12

    Arvan Gast
    Ich hab das ganze jetzt so gemacht:

    HTML-Code:
    <form target="_blank" action="http://eu.wowarmory.com/character-sheet.xml" accept-charset="UTF-8">
    
    <big>Realm:</big><br>
    
    
    <select size="1" style="width: 235px; height: 20px" name="$_COOKIES['r']">
    
    <?php
    setcookie('r', $_POST['r']);
    ?>
    
    <optgroup label="Deutsch">
        <option value="Aegwynn" <?php if($_COOKIES['r'] == "Aegwynn") { echo 'selected="selected"'; }?> >Aegwynn</option>
        <option value="Alexstrasza" <?php if($_COOKIES['r'] == "Alexstrasza") { echo 'selected="selected"'; }?> >Alexstrasza</option>
        <option value="Alleria" <?php if($_COOKIES['r'] == "Alleria") { echo 'selected="selected"'; }?> >Alleria</option>
    Problem: Das Ergebnis der Adressleiste, es landet ein Teil des PHP-Codes dadrin:

    Code:
    http://eu.wowarmory.com/character-sheet.xml?%24_COOKIES%5B%27r%27%5D=Die+Nachtwache&n=hallo
    Es sollte jedoch so heißen:

    Code:
    http://eu.wowarmory.com/character-sheet.xml?r=Die+Nachtwache&n=hallo

  13. #13
    Dann probier es doch mal mit name="r" statt name="$_COOKIES['r']".
    Zudem würd ich zum form noch method="post" hinzufügen.

  14. #14

    Arvan Gast
    Zitat Zitat von Drakes Beitrag anzeigen
    Dann probier es doch mal mit name="r" statt name="$_COOKIES['r']".
    Zudem würd ich zum form noch method="post" hinzufügen.
    Okay, das funktioniert!

    Aber nach schließen des Fenster wird wieder alles zurückgesetzt, das wollte ich mit dem Cookie ja verhindern... (das war aber auch schon vorher so)


    Nun ich habe so ne Warnung im Quelltext (komischerweise nur da):

    Code:
    <b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /var/www/web39/web/wow/beta/index.php:17) in <b>/var/www/web39/web/wow/beta/index.php</b> on line <b>98</b><br />

  15. #15
    Dein setcookie() muss an den Anfang der Datei. Und wenn du willst, dass der Cookie auch noch nach dem Schließen des Browsers erhalten bleibt, musst du eine Zeitangabe mitgeben:

    PHP-Code:
    <?php
    setcookie
    ('r'$_POST['r'], time() + 2592000);
    ?><form target="_blank" action="http://eu.wowarmory.com/character-sheet.xml" accept-charset="UTF-8">

    <big>Realm:</big><br>

    <select size="1" style="width: 235px; height: 20px" name="$_COOKIES['r']">

    <optgroup label="Deutsch">
        <option value="Aegwynn" <?php if($_COOKIES['r'] == "Aegwynn") { echo 'selected="selected"'; }?> >Aegwynn</option>
        <option value="Alexstrasza" <?php if($_COOKIES['r'] == "Alexstrasza") { echo 'selected="selected"'; }?> >Alexstrasza</option>
        <option value="Alleria" <?php if($_COOKIES['r'] == "Alleria") { echo 'selected="selected"'; }?> >Alleria</option>
    2592000 Sekunden entsprechen 30 Tagen. Die Zeit kannst du natürlich auch anpassen.

  16. #16

    Arvan Gast
    Mhhh... auch genauso wie du es geschrieben geht es nicht, ich schließe den Browser ja noch nicht einmal, es kommt ein Cookie zu stande (laut Firefox, wird keins erstellt, natürlich vorsichtshalber im IE geprüft, selber Fehler)

    Ich habe bewusst aus
    HTML-Code:
    <select size="1" style="width: 235px; height: 20px" name="$_COOKIES['r']">
    
    <select size="1" style="width: 235px; height: 20px" name="r">
    gemacht, weil sonst $_COOKIES['r'] mit in die Adressleiste kommt und somit kein Ergebnis zu stande kommt. (Aber es geht mit beidem Methoden nicht)

  17. #17
    So sollte es funktionieren:
    PHP-Code:
    <?php
    if(count($_POST)) {
        
    setcookie('r'$_POST['r'], time() + 2592000);
    }
    ?><form action="http://eu.wowarmory.com/character-sheet.xml" accept-charset="UTF-8" method="post">

    <big>Realm:</big><br>

    <select size="1" style="width: 235px; height: 20px" name="r">

    <optgroup label="Deutsch">
        <option value="Aegwynn" <?php if($_COOKIES['r'] == "Aegwynn") { echo 'selected="selected"'; }?> >Aegwynn</option>
        <option value="Alexstrasza" <?php if($_COOKIES['r'] == "Alexstrasza") { echo 'selected="selected"'; }?> >Alexstrasza</option>
        <option value="Alleria" <?php if($_COOKIES['r'] == "Alleria") { echo 'selected="selected"'; }?> >Alleria</option>

  18. #18

    Arvan Gast
    Moin,

    hab ich probiert und geht auch nicht >.<

    Müsste nach dem Aufruf oder abschicken, nicht ein Cookie gespeichert werden, wieso wird mir das im Browser nicht aufgeführt (alle anderen werden auch aufgeführt) Hab auch alles erlaubt, so isses ja nicht.

    Hat jemand da ne Idee?

  19. #19
    Bei mir funktioniert es mit diesem Code:
    PHP-Code:
    <?php
    if(isset($_POST['r'])) {
        
    setcookie('r'$_POST['r'], time() + 2592000);
    }
    ?><form action="http://eu.wowarmory.com/character-sheet.xml" accept-charset="UTF-8" method="post">

    <big>Realm:</big><br>

    <select size="1" style="width: 235px; height: 20px" name="r">

    <optgroup label="Deutsch">
        <option value="Aegwynn" <?php if($_REQUEST['r'] == "Aegwynn") { echo 'selected="selected"'; }?> >Aegwynn</option>
        <option value="Alexstrasza" <?php if($_REQUEST['r'] == "Alexstrasza") { echo 'selected="selected"'; }?> >Alexstrasza</option>
        <option value="Alleria" <?php if($_REQUEST['r'] == "Alleria") { echo 'selected="selected"'; }?> >Alleria</option>

  20. #20
    Zitat Zitat von dead_orc Beitrag anzeigen
    wtf, ist die Syntax korrekt? Ich würde da ja echo "selected"; schreiben, alleine schon, weils sauberer ist.
    Achja... stimmt. Hab lange nichts mehr gemacht, bin aus der Uebung. >.<

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •