Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: mysql_num_rows help

  1. #1

    mysql_num_rows help

    Salve a tutti mi sono avvicinato da poco al php e nonho idea di come superare quest'imprevisto
    in pratica ho una form con doppi campi ti ci puoi registrare solo se le password e le email sono uguali

    ho fatto cosi sapendo a priori che avrei sbagliato.. dovrei concatenare questi controlli nella mysql_num_rows

    if (mysql_num_row($result)<0 or $psw != $passconf or $email != $emailconf)

    so che e corretto in parte perche se era solo la password e non c'era una user nel db gia scelta era if (mysql_num_row($result)<0 or $psw != $passconf) <-- testato e funzionante.. ora mi sono prefissato di inserire anche una doppia email.. e di testa mia ho aggiunto or $email != $emailconf)
    perche aveva una logica.. ma secondo me sbaglio la sintassi.. come potrei sistemare lo script??

    grazie anticipatamente a tutti...

  2. #2
    Ma se è vera la condizione cosa fai stampi un messaggio di errore?
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    si il resto c'e' gia...
    if (mysql_num_row($result)<0 or $psw != $passconf or $email != $emailconf)
    {
    header("location: reg.php?errreg=1");
    }
    else
    {
    header("location: in.php?regok=1");

  4. #4
    Quindi se ho ben capito io farei così:
    Codice PHP:
    if ($psw != $passconf || $email != $emailconf||mysql_num_row($result)==
    Eseguo prima i controlli relativi a password ed email, e poi eseguo il controllo sul numero di risultati, è inutile chiamare la funzione di conteggio dei risultati se password ed email sono errate. E poi mysql_num_row non restituirà mai un valore minore di 0, quindi va controllato se è uguale a zero, anche se come avevi fatto tu funzionava ugualmente.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  5. #5
    no.. il valore 0 e inteso nella username... nel senso in result c'e la username.... se e 0 quindi non trovo username uguali allora proseguo...

    con il tuo codice mi da quest'errore
    Fatal error: Call to undefined function mysql_num_row() in C:\Program Files\EasyPHP-12.0\www\sito\_reg.php on line 15

    come il mio prima...

  6. #6
    Ti da errore perchè è scritto male mysql_num_rows() io avevo copiato da te, manca la "s" finale. Si ma è inutile controllare se è minore di zero, non lo sarà mai, i risultati di questa funzione possono essere 0 oppure maggiore di 0, ma funziona ugualmente.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  7. #7
    Perfetto... ora funge... grazie sei molto gentile....

  8. #8
    si ma non mi inserisce i dati in db

  9. #9
    Originariamente inviato da codencode
    Ti da errore perchè è scritto male mysql_num_rows() io avevo copiato da te, manca la "s" finale. Si ma è inutile controllare se è minore di zero, non lo sarà mai, i risultati di questa funzione possono essere 0 oppure maggiore di 0, ma funziona ugualmente.
    Perdonami forse ti spiego male io il codice... ma con ==0 anche se metto tutto uguale... non ottengo il risultato.. ora vorrei capire perche con <0 invece ottengo il mio risultato... e lo ottengo inserendo i dati nel db....

    si ma pensandoci hai ragione... scusa..perche devo trovare risultati inferiori a zero???
    quello deve controllare solo... se trova quindi 1 o piu... dammi l' errore.. se risulta nulla allora mi fai entrare.... vorrei conoscere a fondo il php... pertanto ti chiedo perche logicamente hai ragione.. e di fatto hai torto???

    sono agli inizi di un sito cosi composto fino ad ora:
    index dove puoi fare il login e di php ho:

    <?php
    if(isset($_GET['err']) and $_GET['err']==1)
    echo("nome utente e password errati: riprova");
    ?>
    _login la form di login di index manda qua i dati ricevuti codice:

    <?php
    include("connald.php");
    $user = $_REQUEST["username"];
    $psw = $_REQUEST["password"];
    $sql = "select * from user where username='" . $user . "' and password='" . $psw . "'";
    $result = mysql_query($sql);
    if (mysql_num_rows($result)>0)
    {
    header("location: in.php");
    }
    else
    {
    header("location: login.php?err=1");
    }
    ?>

    un link che mi manda ad una pagina di registrazione reg.php codice:

    <?php
    if(isset($_GET['errreg']) and $_GET['errreg']==1)
    echo("hai inserito una password diversa dall' altra oppure hai scelto un username o email esistente: riprova!");
    ?>
    la form di reg.php invia i dati a _reg.php codice:

    <?php
    include("connaldb.php");

    //raccolta info dalla form
    $user = $_REQUEST["username"];
    $psw = $_REQUEST["password"];
    $passconf = $_REQUEST["passwordconf"];
    $email = $_REQUEST["email"];
    $emailconf = $_REQUEST["emailconf"];
    $sesso = $_REQUEST["sesso"];
    $residenza = $_REQUEST["citta"];

    if ($psw != $passconf || $email != $emailconf || mysql_num_rows($result)<0 )
    {
    header("location: reg.php?errreg=1");
    }
    else
    {
    header("location: in.php?regok=1");
    (username, password, email, sesso, citta) i valori provenienti da values ('".$user."', '".$psw."', '".$email."', '".$sesso."', '".$residenza."')";*/
    $comando = "insert into user (username, password, email, sesso, citta)
    values ('".$user."', '".$psw."', '".$email."', '".$sesso."', '".$residenza."')";


    if (!mysql_query($comando))
    echo "inserimento fallito";
    }
    mysql_close("$conn");
    ?>

    ed infine la connessione al db

    <?php
    //connesione al db
    $conn = mysql_connect("localhost", "root","");

    if (!$conn)
    {
    mysql_close("$conn");
    die("errore di accesso al database");
    }
    if (!mysql_select_db("sensual"))
    {
    mysql_close("$conn");
    die("errore di accesso al database utenti");
    }

    ?>

    gradirei delle correzioni con eventuale spiegazione...

  10. #10
    Molto probabilmente perchè trova dei risultati e quindi esegue l'else
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

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.