Visualizzazione risultati 1 fino 6 di 6

Discussione: Aiutatemi a trovare l'errore in questa pagina!

  1. #1
    Guest

    Exclamation Aiutatemi a trovare l'errore in questa pagina!

    Vi prego aiutatemi a trovare l'errore in questa pagina che ho ricontrollato 2000 volte...eppure non ci sono ancora riuscito...

    Questa dovrebbe essere la pagina per inserire una query nel database per la registrazione di username e password e dovrebbe funzionare così: 1- controlla che siano riempiti i campi; 2- controlla che l'username non esista già nel db; 3- se esiste già torna alla pagina di iscrizione, se non esiste aggiunge la query.

    Codice PHP:
    <?php
    /***************************************************************/
    /* ©opyright 2005/2006 by z3ro & z3rolabs Network */
    /* z3rolabs Network - www.z3rolabs.altervista.org */
    /* z3ro Home Page - www.z3ro.altervista.org */
    /***************************************************************/
    /* Add User / Registration Save File */
    /***************************************************************/

    include("inc/config.php");
    if (
    trim($user) == "" OR trim($pass) == ""):
    header("Refresh:3 ; add_user.php");
    echo
    "I campi devono essere riempiti!Attendi il caricamento o clicca <a href=\"add_user.php\">qui</a>";
    else:
    $user = addslashes(stripslashes($user));
    $pass = addslashes(stripslashes($pass));
    $user = str_replace("<", "&lt;", $user);
    $pass = str_replace(">", "&gt;", $pass);

    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");

    // Check
    $keys = explode (",", $username);
    $query = "";
    reset ($keys);
    while (list(,
    $parola) = each ($keys))
    {
    $parola = trim($parola);
    if (
    $parola != "")
    $query .= "username LIKE '%$parola%' ";
    }
    $query .= "0";
    $query = "SELECT username FROM z3_user WHERE " . $query;
    $result = mysql_query($query, $db);
    while (
    $row = mysql_fetch_array($result));
    if (
    $result = "")
    {
    header("Refresh:3 ; add_user.php");
    echo
    "Errore! Questo username è già stato inserito! Attendi il caricamento o clicca <a href=\"add_user.php\">qui</a>";
    }
    else
    {
    $query = "INSERT INTO z3_user (username , password) VALUES ('$user', '$pass')";

    if (
    mysql_query($query, $db)){
    header("Refresh:3 ; index.php");
    echo
    "Grazie per esserti registrato!<br>Attendi il caricamento oppure clicca <a href=\"index.php\">qui</a>";
    }
    else{
    header("Refresh:3 ; add_user.php");
    echo
    "Si è verificato un errore durante l'inserimento!<br>Attendi il caricamento oppure clicca <a href=\"add_user.php\">qui</a>";
    }
    mysql_close($db);

    }
    ?>
    Grazie!

  2. #2
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    che errore ti da?

    guardate il codice alla ricerca di non so cosa non è molto comodo :D
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da Evcz
    che errore ti da?

    guardate il codice alla ricerca di non so cosa non è molto comodo :D
    Parse error: syntax error, unexpected $end in D:\AppServ\www\z3rolabs_login\add_user_save.php on line 59

    Ho provato ad aggiungere un "}" alla fine ma allora mi dà errore sull'ultimo ELSE.... ci sto impazzendo!

  4. #4
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    ho ritoccato un bel po' di cose... non so se si comporti come previsto ma mi pareva ci fosse qualcosa di strano...

    Codice:
    <?php
    /***************************************************************/
    /* ©opyright 2005/2006 by z3ro & z3rolabs Network              */
    /* z3rolabs Network - www.z3rolabs.altervista.org              */
    /* z3ro Home Page - www.z3ro.altervista.org                    */
    /***************************************************************/
    /* Add User / Registration Save File                           */
    /***************************************************************/
    
    include("inc/config.php");
    if (trim($user) == "" OR trim($pass) == "")
    {
    	header("Refresh:3; add_user.php");
    	echo "I campi devono essere riempiti!Attendi il caricamento o clicca <a href=\"add_user.php\">qui</a>";
    }
    else
    {
    	$user = addslashes(stripslashes($user));
    	$pass = addslashes(stripslashes($pass));
    	$user = str_replace("<", "&lt;", $user);
    	$pass = str_replace(">", "&gt;", $pass);
    }
    
    $db = mysql_connect($db_host, $db_user, $db_password);
    if (!$db)
    	die ("Errore nella connessione. Verificare i parametri nel file config.php");
    
    mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");
    
    // Check
        $keys = explode (",", $username);
        $query = "";
        reset ($keys);
        while (list(,$parola) = each ($keys))
        {
    		$parola = trim($parola);
    		if ($parola != "")
    			$query .= "username LIKE '%$parola%' ";
        }
        $query .= "0";
        $query = "SELECT username FROM z3_user WHERE " . $query;
        $result = mysql_query($query, $db);
    
        while ($row = mysql_fetch_array($result))
    	{
            if ($result == "")
    		{
    			header("Refresh:3 ; add_user.php");
    			echo "Errore! Questo username è già stato inserito! Attendi il caricamento o clicca <a href=\"add_user.php\">qui</a>";
    		}
    		else
    		{
    			$query = "INSERT INTO z3_user (username , password) VALUES ('$user', '$pass')";
                if (mysql_query($query, $db))
    			{        
    				header("Refresh:3 ; index.php"); 
    				echo "Grazie per esserti registrato!<br>Attendi il caricamento oppure clicca <a href=\"index.php\">qui</a>";
                }
                else
    			{
    				header("Refresh:3 ; add_user.php");
    				echo "Si è verificato un errore durante l'inserimento!<br>Attendi il caricamento oppure clicca <a href=\"add_user.php\">qui</a>";
                }
                mysql_close($db);
    		}
        }
    ?>
    un = al posto di == di sicuro...

    poi tanti ; alla fine di righe con if o else... e poi forse mancava qualche parentesi...

    prova così e vedi se si comporta ok ;)
    Ultima modifica di Evcz : 26-07-2005 alle ore 23.07.10
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da Evcz
    ho ritoccato un bel po' di cose... non so se si comporti come previsto ma mi pareva ci fosse qualcosa di strano...

    un = al posto di == di sicuro...

    poi tanti ; alla fine di righe con if o else... e poi forse mancava qualche parentesi...

    prova così e vedi se si comporta ok ;)
    Allora non dà più l'errore di prima però
    1- quando mi registro non compare nessuna scritta che confermi la registrazione (come dovrebbe essere) e poi non c'è il redirect
    2- quando utilizzo uno stesso user non fa niente (ma credo sia dovuto al punto 1-) che non completi la registrazione...

    [edit]Se non riempio anche 1 dei due campi però mi dice che devo riempirli, quindi fino lì il codice è esatto
    Ultima modifica di z3ro : 26-07-2005 alle ore 23.12.01

  6. #6
    Guest

    Predefinito

    lo so che non si potrebbe ma aggiungo un messaggio perchè è diverso dal precedente... rispetto al codice postato da me all'inizio, mettendo un "endif;" prima dell' ?> sembra funzionare tutto tranne il check all'interno del database se lo user è già stato inserito!

    [edit] ono riuscito anche a risolvere il problema del check! c'era la variabile $user anzichè $username ora però dà come errore: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\z3rolabs_login\add_user_save.php on line 38 però poi lo script funziona correttamente
    Ultima modifica di z3ro : 26-07-2005 alle ore 23.24.02

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •