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

    Problema bannare utenti

    ciao a tutti
    sto cercando di fare una pagina che serve a bannare gli utenti solo che non riesco a capire xche nn funziona...
    questo e il codice che ho scritto
    Codice PHP:
    <?     
                                      
                                            $user_erase
    =$_GET["Username"];
                                            
    $conn=mysql_connect("*****","*****","*****");
                                            
    $user=$_SESSION["user"];
                                            IF(!
    $conn)
                                            EXIT(
    "errore durante l'accesso al server MySQL");
                                            
    mysql_select_db("nome_del_mio_database") OR EXIT("errore nell'apertura del database");                                                                                                  
                                        
                                        
    $risultato=mysql_query($sqlcmd);
                                        
    $riga=mysql_fetch_array($risultato);
                                                 if(
    $riga["Admin"]==0)
                                        {echo
    "Non sei autorizzato ad accedere questa pagina";}
                                                                             else{
                                            
    $sqlcmd="DELETE FROM user WHERE Username='$user_erase'";
                                            
    mysql_query($sqlcmd);
                                            echo
    "L'utente $user_erase è stato bannato con successo";
                                        
                                        } 
    mysql_close($conn);?>
    $user_erase viene passato da un form nella pagina precedente a questa (e viene passato correttamente xche se lo stampo lo vedo giusto)
    il problema è che in un primo momento dal sito sembra anche funzionare xche nn mi appaiono errori nel codice e ricevo il messaggio di conferma " L'utente $user_erase è stato bannato con successo"
    solo che in realtà l utente resta nel database e nn viene cancellato
    sapreste aiutarmi?grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non fai un minimo di controlli sull'effettiva esecuzione della query

    In fase di debug metti pure una sovrabbondanza di echo e print...

    PEr esempio:

    codice:
    $sqlcmd="DELETE FROM user WHERE Username='$user_erase'";
    echo("Query Cancellazione: ".$sqlcmd."
    ");
    $result = mysql_query($sqlcmd) or die ("Errore nell'esecuzione: ".mysql_error());
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    scusate mi sono dimenticato una riga
    dopo la connessione al database c'è questa riga
    Codice PHP:
        $sqlcmd="SELECT * FROM user WHERE Username='$user'"
    che mi serve poi per vedere se l'utente è admin....dato che solo un admin puo bannare gli utenti

    e un'altra cosa che mi sono dimenticato di dire e che $user e una variabile di sessione che contiene l username dell'utente che viene creata dopo il login di quest'ultimo
    il codice PHP in definitiva è questo
    Codice PHP:
                                            $user_erase=$_GET["Username"];
                                            
    $conn=mysql_connect("*****","******","******");
                                            
    $user=$_SESSION["user"];
                                            IF(!
    $conn)
                                            EXIT(
    "errore durante l'accesso al server MySQL");
                                            
    mysql_select_db("nome_mio_database") OR EXIT("errore nell'apertura del database");                                                                                                  
                                        
    $sqlcmd="SELECT * FROM user WHERE Username='$user'";
                                        
    $risultato=mysql_query($sqlcmd);
                                        
    $riga=mysql_fetch_array($risultato);
                                        if(
    $riga["Admin"]==0)
                                        echo
    "Non sei autorizzato ad accedere questa pagina";}
                                                                             else{
                                            
    $sqlcmd="DELETE FROM user WHERE Username='$user_erase'";
                                            
    mysql_query($sqlcmd);
                                            echo
    "L'utente $user_erase è stato bannato con successo";
                                        
                                        }
                                         
    mysql_close($conn); 

  4. #4
    ho fatto quello che mi hai detto e stampando visualizzo


    Query Cancellazione: DELETE FROM user WHERE Username=' nome dell utente'
    L'utente nome dell'utente è stato bannato con successo



    però cmq nella tabella del database resta......

  5. #5
    perchè quello spazio prima del nome utente?

  6. #6
    ho sbagliato io a metterlo.....

  7. #7
    mi spiego meglio ho sbagliato a scriverlo....cioè non è che era un errore sul codice infatti continua a non funzionare

  8. #8
    intanto cambia:
    if (mysql_query($sqlcmd)) echo"L'utente $user_erase è stato bannato con successo";
    sennò ti dirà sempre utente bannato anche se la query è errata

    per fare la prova del nove, copia la query così come te la stampa e provala da phpmyadmin e vedi che ti dice

  9. #9
    sono uno stupido.....
    lo spazio prima del nome era un errore che avevo fatto nel passare la variabile...
    l'ho tolto e adesso funziona....era xche ovviamente essendo il primo carattere lo spazio nn trovava l'utente nel database.....grazie mille

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.