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

Discussione: script login

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    29

    script login

    Perchè questo script mi da questo errore
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\loginpenna\correzione.php on line 22
    login errato



    script

    <?php
    // setto i parametri della connessione
    $dbhost="localhost";
    $dbbuser="root";
    $tbname="autori";
    $conn = mysql_connect($dbhost,$dbbuser) or die("impossibile accedere");
    $dbname="scrittore";
    mysql_select_db($dbname,$conn);
    //inserisco i dati nel database
    $sql="INSERT INTO autori(username, password) VALUES ('$_POST[username]', '$_POST[password]')";
    mysql_query($sql,$conn) or die( " Errore orrore2" .mysql_error());


    if (isset($_POST['submit']))
    {

    $sql="SELECT username,password FROM ".$tbname."
    WHERE username=('".$_POST['username']."')->Fields('username')
    AND password=('".$_POST['password']."')->Fields('password')";
    $res=mysql_query($sql,$conn);

    if ($records=mysql_fetch_assoc($res))
    {
    // Esiste un record con questi username e password:
    // inserisco i dati nella sessione

    $_SESSION['Username']=$res;
    $_SESSION['Password']=$res;
    echo('login effettuato');
    }
    else('login errato');
    }

    // Controllo accesso
    if (!isset($_SESSION['Username']))
    {
    echo('login errato');

    }

    // Il resto dello script
    ?>

  2. #2
    L'errore è qui:

    if ($records=mysql_fetch_assoc($res))

    Correggi in:

    if ($records=mysql_fetch_assoc($sql))


  3. #3
    ciri_sn_solo_io ti sbagli ha fatto bene io suggerirei questa mod

    Codice PHP:
    if ($num mysql_num_rows!=0){ // controlla se è presente il record
    $records=mysql_fetch_array($res);

    // Esiste un record con questi username e password: 
    // inserisco i dati nella sessione 

    $_SESSION['Username']=$records['username']; 
    $_SESSION['Password']=$records['password']; 
    echo(
    'login effettuato'); 

    else(
    'login errato'); 

    prova così

  4. #4
    No, non mi sbaglio

    Mettendo $res anzichè $sql è come se avesse scritto:

    if ($records=mysql_fetch_assoc($sql,$conn))

    il che non ha nessunissimo senso.

    Deve mettere come ho detto io e funziona

  5. #5
    Originariamente inviato da ciri_sn_solo_io
    No, non mi sbaglio

    Mettendo $res anzichè $sql è come se avesse scritto:

    if ($records=mysql_fetch_assoc($sql,$conn))

    il che non ha nessunissimo senso.

    Deve mettere come ho detto io e funziona
    ti devo veramente delude ...come hai scritto te in precedenza è errato la mia correzzione serve...se mette
    $sql equivale a mysql_fetch_assoc(SELECT username,password FROM ".$tbname."
    WHERE username=('".$_POST['username']."')->Fields('username')
    AND password=('".$_POST['password']."')->Fields('password'))

    che nn serve perchè a noi servono le RISPOSTE della query e no sql quindi mettendo $res nn prende $sql,$conn come dici te ma prende il risultato della funzione mysql_query()

    nannini fai una prova come ti ho indicato io e come ti ha indicato ciri_sn_solo_io e poi ci dici quale delle due soluzioni ti è servita


  6. #6
    Umh, mi sa che hai ragione :master:

    Comunque non avevo fatto caso che $sql non è altro che una stringa. Per "funzionare" come dicevo io, dovrebbe mettere:

    $sql= mysql_query("SELECT username,password FROM ".$tbname."
    WHERE username=('".$_POST['username']."')->Fields('username')
    AND password=('".$_POST['password']."')->Fields('password')");


  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    29
    La soluzione di Supersavio mi da'sempre login errato anche se username e password sono nel database

    L'altra invece nn funxnziona.

  8. #8
    ora mi sono reso conto..ma perchè inserisci i dati nel db??

    Codice PHP:
    $sql="INSERT INTO autori(username, password) VALUES ('$_POST[username]', '$_POST[password]')";
    mysql_query($sql,$conn) or die( " Errore orrore2" .mysql_error()); 
    cioè uno che si logga puo mettere qualsiasi user e pass tanto quello lo inserisce e poi fa il controllo...è un po inutile..non trovi??

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    29
    Si è così come dici ma allore come devo fare

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    29
    Per essere piu' precisi io inserisco i dati nel db tramite una registrazione e quella funziona e poi dovrei fare il login mi sai dire che cosa c'è che nn va.
    Perchè da'sempre login errato anche se ci sono login e pass nel db?

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.