Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di mick
    Registrato dal
    Jun 2004
    Messaggi
    34

    dati da url e concatenazione stringhe in php...perchè ottengo caratteri speciali?

    Ciao, ho completato uno script c
    he, passato il nome di un database, vede le tabelle (le visualizza tramite select form) e fa scegliere all'utente la tabelle per visualizzare i campi. Ecco lo script:

    <html>
    <body>
    <form name="formo" method="get" action="visucol.php">
    <?
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    $query = "use $db_name";
    if (mysql_query($query, $db)){
    $result = mysql_list_tables($db_name);
    echo "Seleziona la tabella di cui vuoi vedere le colonne",'
    ';
    if (!$result) {
    echo "DB Error, could not list tables",'
    ';
    echo 'MySQL Error: ' . mysql_error();
    exit;
    }
    $m = ">";
    $me = "dbname=";
    $ri = "&";
    $p = $ri.$me.$db_name;
    echo $p,'
    ';
    echo'<SELECT NAME="dbtable">';
    for ($i = 0; $i < mysql_num_rows($result); $i++) {
    $r = mysql_tablename($result, $i);
    echo'<OPTION value ='.$r.$p.$m;
    echo $r;
    echo'</OPTION>';
    }
    echo'</SELECT>';
    mysql_free_result($result); }
    else{echo"Impossibile usare il db richiesto";}
    ?>
    <input type="submit" value="Invia">
    </form>
    </body>
    </html>

    Ora quando faccio echo $p; ottengo una cosa del tipo &dbname=pippo (esempio) ma quando vado sul submit invece ottengo una url
    dbtable=news%26dbname%3Dprova

    da dove son venuti fuori %26,%3D? Come li posso eliminare ed ottenere la url corretta del tipo dbtable=news&dbname=prova
    Mick: Be Simply Natural

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non devi eliminarli.
    E' il browser che effettua quella codifica, giustamente perché altrimenti il server non riuscirebbe a ricevere i parametri nel modo corretto.
    In php devi decodificare i dati usando la funzione urldecode() o rawurldecode() (ora non ricordo)

    www.php.net/urldecode
    www.php.net/rawurldecode

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.