Ergebnis 1 bis 20 von 68

Thema: [HTML] Auswahlmenü speichern lassen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Arvan Gast
    Eine Anmerkung habe ich noch:

    Wenn ich in den Textfeld (searchitem) nach z.b. "Gul'dan" suche und die Seite erneut lade kommt "Gul\\\dan" raus.
    (Vemehrt sich nach erneuten veruschen) - Das Ergebnis hingegen geht nur beim ersten mal (is klar, danach sind lauter \\\\ drin)

    Was ist daran falsch? DIe Kodierung der Seite (oder des abgeschickten) muss aber unbedingt ISO-8859-1 sein, sonst kommen Sonderzeichen falsch an.

    Quelltext:

    HTML-Code:
    <?php
    if(isset($_POST['searchitem'])) {
        setcookie('searchitem', $_POST['searchitem'], time() + 2592000); 
    	header('Location: http://www.buffed.de/?f=' . urlencode($_POST['searchitem']));
    }
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
    <head>
    
    	<title>Buffed.de Suche</title>
    
    	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    	
    	<link rel="stylesheet" type="text/css" href="./searchframe_style.css">
    
    </head>
    
    
    <center>
    
    
    
    <form name="buffedSuche" action="<?php echo $_SERVER['PHP_SELF']; ?>" target="_blank"  method="post">
    
    <input type="text" size="35" name="searchitem" value="<?php echo htmlspecialchars($_REQUEST['searchitem']); ?>">
    
    <br>
    
    <font size="2">
    (Suche erfolgt mit <a target="searchframe" href="_suche_speedydragon.php"><u>Buffed.de</u></a>)
    </font>
    
    <br><br>
    
    
    <input type="submit" value="Suchen">
    
    </form>
    
    
    
    </center>
    
    </html>

  2. #2
    Das sieht stark danach aus, das auf deinem Server die Eigenschaft magic_quotes aktiviert ist.
    Dieses wurde in PHP eingeführt um den Benutzer mehr Sicherheit zu garantieren, was aber eher zum gegenteil geführt hat.
    Es führt einfach zu schlampiger Programmierung und führt wie bei dir auch zu Fehlern.
    Falls du Zugriff auf die php.ini hast, würde ich es gleich direkt deaktivieren:
    Code:
    magic_quotes_gpc = Off
    Ein anderer Weg währe es
    Code:
    php_flag magic_quotes_gpc off
    in eine .htaccess (!!!Achtung!!!, die Datei heißt so, sie besteht nur aus der Dateiendung!!!) Datei zu schreiben.

    Falls das alles nicht funktioniert, bleibt nur folgende Möglichkeit:
    PHP-Code:
    <?php
    if(@get_magic_quotes_gpc()) {
          @
    set_magic_quotes_runtime(0);
          
    $_GET array_map('stripslashes'$_GET);
          
    $_POST array_map('stripslashes'$_POST);
          
    $_COOKIE array_map('stripslashes'$_COOKIE);
          
    $_REQUEST array_map('stripslashes'$_REQUEST);
    }
    mfG

  3. #3

    Arvan Gast
    Ich habe das so gemacht, aber es scheint nichts zu wirken, habe ich es eventuell an der falschen Stelle gemacht?

    Testen kann man es hier: www.bastilampe.de/wow/beta/

    HTML-Code:
    <?php
    if(isset($_POST['searchitem'])) {
        setcookie('searchitem', $_POST['searchitem'], time() + 2592000); 
    	header('Location: http://www.buffed.de/?f=' . urlencode($_POST['searchitem']));
    }
    
    if(@get_magic_quotes_gpc()) {
          @set_magic_quotes_runtime(0);
          $_GET = array_map('stripslashes', $_GET);
          $_POST = array_map('stripslashes', $_POST);
          $_COOKIE = array_map('stripslashes', $_COOKIE);
          $_REQUEST = array_map('stripslashes', $_REQUEST);
    } 
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
    <head>
    
    	<title>Buffed.de Suche</title>
    
    	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    	
    	<link rel="stylesheet" type="text/css" href="./searchframe_style.css">
    
    </head>
    
    
    <center>
    
    
    
    <form name="buffedSuche" action="<?php echo $_SERVER['PHP_SELF']; ?>" target="_blank"  method="post">
    
    <input type="text" size="35" name="searchitem" value="<?php echo htmlspecialchars($_REQUEST['searchitem']); ?>">
    
    <br>
    
    <font size="2">
    (Suche erfolgt mit <a target="searchframe" href="_suche_speedydragon.php"><u>Buffed.de</u></a>)
    </font>
    
    <br><br>
    
    
    <input type="submit" value="Suchen">
    
    </form>
    
    
    
    </center>
    
    </html>

  4. #4
    Ich hoffe du hast vorher die anderen Wege probiert, ... das ist nämlich der beschissenste und Performance fressend ste Weg.

    Und ja es ist an der falschen Stelle, da war nicht ohne Grund ein <?php mit im Code-Tag, zudem wenn man sich den Code schnipsel ein mal genau anguckt, merkt man das dort Variablen bereinigt werden die bei dir 2 Zeilen darüber verwendet werden ...

    http://de3.php.net/manual/de/info.co...gic-quotes-gpc

    Geändert von Xardas der Dunkle (19.05.2008 um 21:15 Uhr)

  5. #5

    Arvan Gast
    Zitat Zitat von Xardas der Dunkle Beitrag anzeigen
    Ich hoffe du hast vorher die anderen Wege probiert, ... das ist nämlich der beschissenste und Performance fressend ste Weg.

    Und ja es ist an der falschen Stelle, da war nicht ohne Grund ein <?php mit im Code-Tag, zudem wenn man sich den Code schnipsel ein mal genau anguckt, merkt man das dort Variablen bereinigt werden die bei dir 2 Zeilen darüber verwendet werden ...
    Ja ich habe die anderen Wege ausprobiert, Problem war:

    1) Kein Zugriff auf PHP-Einstellungen
    2) Methode 2 hat sich selbst ausgesperrt und Server verweigerte Ordnerzugriff

    (also besser nich nochmal probieren)

    An Methode 3 mach ich mich gleich nochmal ran und sotiere die $GET z.b raus, da ich diese ja nich brauche oder?

  6. #6

    Arvan Gast
    Zitat Zitat von Xardas der Dunkle Beitrag anzeigen
    Das sieht stark danach aus, das auf deinem Server die Eigenschaft magic_quotes aktiviert ist.
    Dieses wurde in PHP eingeführt um den Benutzer mehr Sicherheit zu garantieren, was aber eher zum gegenteil geführt hat.
    Es führt einfach zu schlampiger Programmierung und führt wie bei dir auch zu Fehlern.
    Falls du Zugriff auf die php.ini hast, würde ich es gleich direkt deaktivieren:
    Code:
    magic_quotes_gpc = Off
    Ein anderer Weg währe es
    Code:
    php_flag magic_quotes_gpc off
    in eine .htaccess (!!!Achtung!!!, die Datei heißt so, sie besteht nur aus der Dateiendung!!!) Datei zu schreiben.

    Falls das alles nicht funktioniert, bleibt nur folgende Möglichkeit:
    PHP-Code:
    <?php
    if(@get_magic_quotes_gpc()) {
          @
    set_magic_quotes_runtime(0);
          
    $_GET array_map('stripslashes'$_GET);
          
    $_POST array_map('stripslashes'$_POST);
          
    $_COOKIE array_map('stripslashes'$_COOKIE);
          
    $_REQUEST array_map('stripslashes'$_REQUEST);
    }
    mfG
    Ich zitier einfach den Beitrag nochmal, denn genau dieses Problem tritt auf einmal (warum auch immer ) jetzt wieder auf.

    Der Quelltext von _buffed.php ist folgender:

    +


    Wenn ich jetzt nach "Mul'dan" suche, wird in der Adressleiste natürlich nach dem hier gesucht:

    Ich weiß nicht weiter, hab schon alles mögliche probiert.
    Zugriff auf die PHP-Einstellungen des Servers sind nicht möglich.

    hat noch jemand ne Idee?

  7. #7
    Dein Problem ist, dass du a) nur $_REQUEST korrigierst, aber $_POST verwendest, und b) die Korrektur erst nach der Weiterleitung durchführst. Der magic_quotes Block muss als allererstes kommen:


    So sollte es gehen.

Berechtigungen

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