form -> action="<?php echo $_SERVER['PHP_SELF']; ?>

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Koala
    antwortet
    action="<?php echo $_SERVER['PHP_SELF']; ?> ist nicht gut wegen XSS

    Einen Kommentar schreiben:


  • moepmann123
    antwortet
    Zitat von TobiaZ Beitrag anzeigen
    Na, die betreffende Zeile dürfte diese sein:
    PHP-Code:
    echo "<option value= ".$klasse3['klasse'].">".$klasse3['klasse']."</option>"
    Und dann ganz einfach:
    PHP-Code:
    echo "<option value= ".$klasse3['klasse']. (aktueller_datensatz == gefundener datensatz " selected=selected" "") . ">".$klasse3['klasse']."</option>"
    nette sache funktioniert super...jetzt besteht nur noch das Problem, dass die ausgewählte Option nach dem Action von dem Form nicht gleichbleibt, sondern wieder auf den Ursprung wechselt.

    Soll heißen:

    Ich habe 2 Auswahlmöglichkeiten -> Möglichkeit 1 wird beim Aufrufen der Seite automatisch gewählt. Ich wechsle auf Option 2, lade die Seite mit <?php echo $_SERVER['PHP_SELF']; ?> neu -> die Option ist wieder auf 1, sollte aber - wenns nach mir ginge :P - auf 2 sein

    Mfg und VIELEN Dank!

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    Wie kann ich das so löse, dass wenn ein Datensatz gefunden wird, dieser selected ist, wenn keiner gefunden wird, die Liste ganz normal ausgegeben wird?
    Na, die betreffende Zeile dürfte diese sein:
    PHP-Code:
    echo "<option value= ".$klasse3['klasse'].">".$klasse3['klasse']."</option>"
    Und dann ganz einfach:
    PHP-Code:
    echo "<option value= ".$klasse3['klasse']. (aktueller_datensatz == gefundener datensatz " selected=selected" "") . ">".$klasse3['klasse']."</option>"

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    Benutz doch bitte die [PHP]-Tags, dann wird der Code für uns lesbarer.

    Einen Kommentar schreiben:


  • moepmann123
    antwortet
    Ich stehe etwas auf der Leitung

    Das ist mal generel mein Code um das Selectfeld zu befüllen:

    Code:
         $klasse_norm ="SELECT * FROM t_klassen t;";
       
       $klasse = "SELECT * FROM t_stundenplan s INNER JOIN t_stundenzeiten st INNER JOIN t_klassen t
        ON s.stunde = st.stunde AND s.klasse = t.klasse
      WHERE s.lehrercode like '$lehrercode' AND '$uhrzeit' between st.von and st.bis AND s.tag like '$tag';";
      
      $ergebnis_klasse = mysql_query($klasse);
       
      $ergebnis_klasse_norm = mysql_query($klasse_norm);
    $num_rows = mysql_num_rows($ergebnis_klasse);
       
       if ($num_rows > 0) {
       
       while($klasse2 = mysql_fetch_assoc($ergebnis_klasse)) {
                     
    
                  
      echo "<option value= ".$klasse2['klasse']." >".$klasse2['klasse']."</option>";
     
      $schueler_kl = "".$klasse2['klasse']."";
      
      $f_kl = $_GET["sel_klasse"]; 
     }
    }
    
    else {
    
    while($klasse3 = mysql_fetch_assoc($ergebnis_klasse_norm)) {
                     
    
                  
      echo "<option value= ".$klasse3['klasse'].">".$klasse3['klasse']."</option>";
     
    $schueler_kl = "".$klasse3['klasse']."";
      $f_kl = $_GET["sel_klasse"]; 
     }
    
    }
    ZZ überprüfe ich, ob ich Datensätze geliefert bekomme, wenn ja soll er den einen (kann in dem Fall nur einer sein) ausgeben. Wenn keine Datensätze gefunden werden, soll er alle Klassen ausgeben.

    Wie kann ich das so löse, dass wenn ein Datensatz gefunden wird, dieser selected ist, wenn keiner gefunden wird, die Liste ganz normal ausgegeben wird?

    Mfg

    Einen Kommentar schreiben:


  • moepmann123
    antwortet
    Zitat von wahsaga Beitrag anzeigen
    Also selected in jeder Option. Na das ist doch wohl mal blödsinnig - merkst du doch hoffentlich selber ...?


    Und dabei vergleichst du den übergebenen Wert mit den Werten die du ausgibst - und nur bei Gleichheit schreibst du dann das selected-Attribut mit rein.
    das selected ist normal auch ned drin :P war nur zum testen.

    Werd das mal so probieren, mal schaun ob ichs hinbekomm :P

    mfg u danke

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Zitat von moepmann123 Beitrag anzeigen
    so sieht der Code für das Select-Feld aus...
    Also selected in jeder Option. Na das ist doch wohl mal blödsinnig - merkst du doch hoffentlich selber ...?

    Wenn ich jetzt eine Option auswähle, die Seite per Button neu lade und die ausgewählten Optionen übergebe, bringt mir das Select sehr wenig (falls es so hingehört) da er ja wieder einfach neu aus der DB ausliest.
    Und dabei vergleichst du den übergebenen Wert mit den Werten die du ausgibst - und nur bei Gleichheit schreibst du dann das selected-Attribut mit rein.

    Einen Kommentar schreiben:


  • moepmann123
    antwortet
    Code:
    echo "<option value= ".$klasse2['id_klasse']." selected >".$klasse2['klasse']."</option>";
    so sieht der Code für das Select-Feld aus...Wenn ich jetzt eine Option auswähle, die Seite per Button neu lade und die ausgewählten Optionen übergebe, bringt mir das Select sehr wenig (falls es so hingehört) da er ja wieder einfach neu aus der DB ausliest.

    Würde mich freuen wenn du mir sagen würdest wie ichs machen könnte

    Mfg

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Zitat von moepmann123 Beitrag anzeigen
    Vorselektiert habe ich versucht, funktioniert jedoch nicht da er mir - sofern ich selected in meinen <option>-Tag packe - immer den letzten Datensatz auswählt.
    Tja, dann machst du's wohl falsch, denn genau so geht's.

    Einen Kommentar schreiben:


  • moepmann123
    antwortet
    Ok, der Titel war vielleicht etwas schlecht gewählt :P

    Ich versuchs nochmal verständlich zu erklären.

    Ich habe ein Form in dem einige Select-Felder enthalten sind. Diese Felder werden durch Datenbankabfragen befüllt und sohin ist Value schon vorbelegt. Am Schluss dieses Forms habe ich einen Aktualisieren Button um die Ausgabe (hier werden die Daten der Select-Felder verwertet) neu auszugeben.

    Als Action für das Form habe ich <?php echo $_SERVER['PHP_SELF']; ?> verwendet, um die Ausgabe auf der selben Seite neu zu laden.

    Mein Problem ist nun, dass die Ausgabe perfekt funktioniert, ich will jedoch - nach dem die Seite neu geladen wurde - die Optionen die ich vorher gewählt habe, in den Select Feldern als "selected" haben.

    Vorselektiert habe ich versucht, funktioniert jedoch nicht da er mir - sofern ich selected in meinen <option>-Tag packe - immer den letzten Datensatz auswählt.

    Problem is ja iwi, dass er ja nachdem er die Seite neu ladet, auch die Select Felder neu mit den Datenbankabfragen befüllt.

    Hoffe das war etwas verständlicher

    Mfg
    Zuletzt geändert von moepmann123; 04.07.2009, 18:13.

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Zitat von moepmann123 Beitrag anzeigen
    (Hoffe das war einigermaßen verständlich :P)
    Kaum.
    Insb. was der Titel mit der eigentlichen Frage zu tun haben soll, kann ich nicht erkennen.
    Wie bekomme ichs nun hin, dass, nachdem ich die Ausgabe aktualisiere, das Select Feld das Richtige anzeigt?
    Ich kann nur raten, dass du das meinen könntest:
    http://de.selfhtml.org/html/formular..._vorselektiert

    Einen Kommentar schreiben:


  • moepmann123
    hat ein Thema erstellt form -> action="<?php echo $_SERVER['PHP_SELF']; ?>.

    form -> action="<?php echo $_SERVER['PHP_SELF']; ?>

    WICHTIG:

    Zitat von combie Beitrag anzeigen
    PHP-Code:
    <form name=select action="<?php echo $_SERVER['PHP_SELF']; ?>">
    Jetzt lass das doch endlich mal weg!!

    Jeder Anfänger, welcher diesen Thread sieht, wird verführt PHP_SELF einzusetzen.
    Bitte lass das.....!


    Machs doch so, das ist genauso gut:
    HTML-Code:
    <form name=select action="">
    Einfach leer lassen. Sollte in deinem Fall dicke reichen.
    --------------------------------------------------

    Hoffe ich bin hier richtig

    Habe ein "kleines" Problem...

    habe einige Select-Felder welche mit DB Abfragen befüllt werden.
    Wenn ich nun ein Feld verändere, und meine Ausgabe per Button veränderen will geht dies zwar, das Feld ändert seinen Anzeigewert jedoch wieder auf den Wert, welcher als erstes von der DB ausgegebenen wird. Eigentlich klar (reload Seite)

    Wie bekomme ichs nun hin, dass, nachdem ich die Ausgabe aktualisiere, das Select Feld das Richtige anzeigt? Würde ja Value hernehmen, geht aber leider nicht, weil Value ja mit der DB Abfrage befüllt ist.

    (Hoffe das war einigermaßen verständlich :P)

    Würde mich über Hilfe freuen,

    mfg
    Zuletzt geändert von moepmann123; 05.07.2009, 21:08.
Lädt...
X