Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Inserire variabile URL in una select

    Ciao a tutti,

    ho un piccolo problema, praticamente ho una pagina php da cui passo una variabile URL a seconda del link che viene cliccato dall'utente... fin qui nessun problema visto che se stampo la variabile nella pagina "ricevente" con l'istruzione
    Codice PHP:
    echo $_REQUEST['festa_scelta'
    tutto và alla perfezione...

    Se voglio far stampare la stessa variabile all'interno di una select in modo da selezionare solo determinati campi, mi restituisce sempre questo errore di database
    Parse error: syntax error, unexpected T_VARIABLE in /home/pesaadf8/public_html/pesaresi_selected.php on line 42
    .

    Ecco la mia query tanto per essere più precisi:
    Codice PHP:
    "SELECT * FROM foto_utenti WHERE festa = '"echo $_REQUEST['festa_scelta']"' ORDER BY `data` DESC"
    Dove sbaglio? Come posso risolvere?

    Grazie mille,
    Luca

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    cosi la sintassi è corretta
    codice:
    "SELECT * FROM foto_utenti WHERE festa = '$_REQUEST['festa_scelta']' ORDER BY `data` DESC";
    comunque farei un controllo dei dati, è sempre pericoloso infilare in una query il dato inserito dall'utente.

    ciao

  3. #3
    Ho risolto mettendo il request della variabile in precedenza e poi richiamando semplicemente la variabile stessa.

    Per quale motivo potebbe essere pericoloso? Anche manipolandola cosa possono fare tramite qualla variabile, crearmi dei problemi? Come posso eventualmente controllare i dati?

    Ora il mio problema è un'altro, vorrei mettere un IF in modo tale che se la variabile passata sia nulla, mi deve mostrare tutti i record della tabella (e quindi annullare la condizione WHERE), come posso fare?

    Grazie mille per l'aiuto,
    Luca

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    656
    è pericolosa perche possono verificarsi dei fenomeni di Injection.

    in pratica estranei possono venire a conoscenza dei dati sensibili.

    prima di infilare il dato nella query, deve mettre apunto uno script che controlla se ci sono dei caratteri speciali come ad esemio i '

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    a parte il discorso del controllo di ciò che arriva dalla request che lascio a te da approfondire, quello che chiedi per la query potrebbe essere qualcosa del genere:

    codice:
    $query = "SELECT * FROM foto_utenti";
    
    $where = "";
    
    if($_REQUEST['festa_scelta']) {
      $where = "WHERE festa = '$_REQUEST['festa_scelta']'";
    }
    
    $orderby = "ORDER BY `data` DESC"
    
    $query_finale = $query.$where.$orderby;
    
    mysql_query($query_finale);
    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.