Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Non modificare url

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    173

    Non modificare url

    Salve a tutti,
    Ho creato un sito con dei profili con la pagina profilo.php?id=2 (questo è un esempio).
    Però se io al posto di quel 2 (che sarebbe l'id) metto un'altro numero (con url quindi metodo GET), la pagina mi porta sempre sul profilo ma mi mostra tutti campi (nome,cognome,email,ecc...) vuoti questo perchè giustamente l'id 5 non esiste...
    Quello che vorrei fare io e che se si mette un'id che non esiste la pagina mi dovrà fare redirect verso una pagina di errore

    Grazie a tutti attendo vostre risposte

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    E' per questo che hanno inventato l'if
    Presumo che con quel id ci fai una query, no? Se il risultato della query da 0 righe allora il profilo non esiste
    Codice PHP:
    $id = (int)$_GET['id'];
    // Non so  cosa usi, quindi lo scrivo generico
    // $query_result = ...
    if(il result set è vuoto){
       
    Header('Location: pagina_errore.php');
       exit();
    }

    // Codice pagina profilo 

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    173
    Che intendi con il result set è vuoto ?

  4. #4
    Essendo che per mostrare i dati dell'utente esegui una query devi controllare il rsultato della query e, se vuoto, rimandarlo ad una pagina di errore.
    Il pseudo-codice che ti è stato mostrato intendeva questo.
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    173
    Scusate la mia ignoranza, ma fino a qui ci arrivavo... nell if come condizione a livello di codice php cosa devo mettere?

    Premetto che la query é cosí

    Codice PHP:

    $id 
    $_GET['id'];

    $query mysql_query("SELECT * FROM utenti WHERE id='$id' "); 

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Dato che non avevi specificato cosa usavi e, nel caso di db, che driver...mi ero tenuto sul generico.
    nel tuo caso basta che usi mysql_num_rows.
    Codice PHP:
    $id = (int)$_GET['id'];

    $query mysql_query("SELECT * FROM utenti WHERE id='$id' ");
    if(
    mysql_num_rows($query) == 0){
         
    header('Location: pagina_errore.php');
         exit();


  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ti converrebbe studiare qualcosa sull'interazione tra php e mysql prima di continuare o ti ritroverai ad affrontare altre cose "difficili" come quella di controllare se un result set è vuoto o meno... che è praticamente una cosa livello base.

    http://www.html.it/guide/guida-php-e-mysql-pratica/

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.