Visualizzazione risultati 1 fino 17 di 17

Discussione: loggare un utente se il nick è presente nel database

  1. #1
    Guest

    Predefinito loggare un utente se il nick è presente nel database

    salve, volevo chiedere una cosa , ho una tabella nel database dove vanno gli utenti registrati , io vorrei fare in modo che tramite login si acceda al sito ( in questo caso alla index.php) sulla index.php avevo messo del codice
    Codice PHP:
    <?php include("paginaconnessione.php");
    $dbconnect=ecc ;
    $user=mysql_query("SELECT * FROM registrazioni WHERE nick='$nick',pass='$pass'",$dbconnect);
    $userrows=mysql_num_rows($user);
    che controllava se il nick era presente nel database , poi fatto questo un if-else if($user){codice pagina index.php}else{torna indietro al login} però non funziona , già sull'if da solo una pagina bianca senza niente ? potete aiutarmi a risolvere ? oppure avete consigli su come fare questa cosa diversamente ? grazie a chi mi risponderà

  2. #2
    Guest

    Predefinito

    Codice PHP:
    include("database.php");
    $q=mysql_query("SELECT * FROM registrazioni WHERE nick='".$nick."' AND pass='".$pass."' LIMIT 1;");
    // setta variabile
    if(mysql_num_rows($q)>0){
    $user=true;
    }else{
    $user=false;
    }

    if(
    $user){
    echo
    "Loggato!";
    }else{
    echo
    "Non Loggato!";
    }
    dovrebbe andare

  3. #3
    Guest

    Predefinito

    grazie , ho provato ma mi dice sempre non lo loggato anche quando metto nicke passwrod che stanno sul database..

  4. #4
    Guest

    Predefinito

    prova così:

    Codice PHP:
    include("database.php");
    $q=mysql_query("SELECT * FROM registrazioni WHERE nick='".$_POST['nick']."' AND pass='".$_POST['pass']."' LIMIT 1;");
    // setta variabile
    if(mysql_num_rows($q)>0){
    $user=true;
    }else{
    $user=false;
    }

    if(
    $user){
    echo
    "Loggato!";
    }else{
    echo
    "Non Loggato!";
    }

  5. #5
    Guest

    Predefinito

    ho fatto comeda te scritto ma da lo stesso risultato :(

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    Citazione Originalmente inviato da yis Visualizza messaggio
    prova così:
    Codice PHP:
    $q=mysql_query("SELECT * FROM registrazioni WHERE nick='".$_POST['nick']."' AND pass='".$_POST['pass']."' LIMIT 1;");
    La funzione mysql_query ha bisogno dell'identificatore del database che, come ho visto nel primo, nel tuo caso l'hai chiamato $dbconnect quindi:


    Codice PHP:
    $q=mysql_query("SELECT * FROM registrazioni WHERE nick='".$_POST['nick']."' AND pass='".$_POST['pass']."' LIMIT 1;",$dbconnect);
    non sono sicuro (sono un po si fretta ) comunque quello è un errore...

    CIAO!

    Edit:

    non vorrei avessi fatto anche un errore in precedenza:

    dovrebbe essere:

    Codice PHP:
    ...
    $dbconnect=mysql_connect("localhost", "babilonia6","");
    if(
    $db == FALSE)
    echo
    "Messaggio errore"; //puoi mettere una funzione di errore...
    mysql_select_db("my_babilonia6",$dbconnect);
    $q=mysql_query("SELECT * FROM registrazioni WHERE nick='".$_POST['nick']."' AND pass='".$_POST['pass']."' LIMIT 1;",$dbconnect);
    ...
    CIAO!
    Ultima modifica di alemoppo : 19-02-2009 alle ore 22.27.35

  7. #7
    Guest

    Predefinito

    non funziona lo stesso, grazie comunque

  8. #8
    Guest

    Predefinito

    come hai impostato il form per la registrazione??
    Altrimenti non serve a nulla fare queste prove..

    EDIT: Volevo dire login :-P
    Ultima modifica di nokiagames : 20-02-2009 alle ore 16.49.42

  9. #9
    Guest

    Predefinito

    la registrazione?? scusa ma non capisco , volevi dire il login? con la registrazione è ok , funziona e stampa tutto sulla tabella

  10. #10
    Guest

    Predefinito

    la cosa migliore che puoi fare è postare tutto il login e paginaconnessione.php
    cosi possiamo aiutarti

  11. #11
    Guest

    Predefinito

    ok questa è la connessione.php
    Codice PHP:
    <?php

    $dbhost
    ="localhost";
    $dbuser="babilonia6";
    $dbpassword="";
    $dbname="my_babilonia6";
    ?>
    questa la login
    Codice PHP:
    <HTML>
    <HEAD>
    <TITLE>Login</TITLE>
    </HEAD><link type="text/css" href="CSS.css" rel="stylesheet" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    <BODY>
    <div class="centrato">
    <div class="title">
    <div class="titolo">Login</div>
    <hr class=hr>
    </div>
    <hr class=hr>
    <div class="title2">
    <div class="titolo2">Inserire i dati</div>
    <hr class=hr>
    <div class="testo_blu">Nickname</div>
    <form action="index.php"method="POST"/>
    <input type="text"class="campo_testo"name="nickname"/>
    <div class="testo_blu">Password</div>
    <input type="password"class="campo_testo"name="password"/><br />
    <input type="submit"class="button"value="Entra"/><br />
    <a href="registrazione.php">Registrati</a>
    </div>
    <a href="index.php">Clicca qua senza mettere il nome </a>
    <hr class=hr>
    <div class="title2">
    <div class="titolo2">Info visitatore</div>
    <hr class=hr>
    <div class="testo_rosso">IP</div>
    <div class="testo_blu"><?php echo$_SERVER['REMOTE_ADDR']; ?></div>
    <div class="testo_rosso">User agent</div>
    <div class="testo_blu"><?php echo$_SERVER['HTTP_USER_AGENT']; ?></div>
    <hr class=hr>
    </div>
    </div>
    </BODY>
    </HTML>
    scusate l'errore , name=nome invece di name=nickname , questo l'ho risolto ma adesso , entra e dopo di che cade quando si aggiorna la pagina
    Ultima modifica di babilonia6 : 20-02-2009 alle ore 00.23.31

  12. #12
    Guest

    Predefinito

    ok ma in index.php hai scritto solamente
    Codice PHP:
    <?php include("paginaconnessione.php");
    $dbconnect=ecc ;
    $user=mysql_query("SELECT * FROM registrazioni WHERE nick='$nick',pass='$pass'",$dbconnect);
    $userrows=mysql_num_rows($user);
    nessun controllo, niente di niente?

  13. #13
    Guest

    Predefinito

    veramente manca un pò di tutto sto ancora imparando :D

  14. #14
    Guest

    Predefinito

    allora come prima cosa non vengono dichiarate le variabili $nick e $pass
    Codice PHP:
    $nick=htmlentities(mysql_real_escape_string($_POST['nick']));//faccio qualche controllo
    $pass=htmlentities(mysql_real_escape_string($_POST['pass']));
    poi per conneterti al db usa una cosa del genere
    Codice PHP:
    $db = mysql_connect($dbhost, $dbuser, $dbpassword);
    if (
    $db == FALSE) {
    die (
    "Errore connesione al database");
    }
    mysql_select_db($dbname, $db)
    or die (
    "Errore selezione database");
    a questo punto puoi inviare delle query quindi
    Codice PHP:
    $user=mysql_query("SELECT * FROM registrazioni WHERE nick='$nick',pass='$pass'");
    $num_righe=mysql_num_rows($user);
    if(
    $num_righe) {
    //loggato quindi imposti le sessioni
    } else {
    //Log fallito li restituisci un bel errore
    }
    io uso una cosa del genere e ha sempre funzionato
    prova

  15. #15
    Guest

    Predefinito

    grazie per la risp ,mi mancano le sessioni , purtroppo le sbaglio sempre

  16. #16
    Guest

    Predefinito

    le sessioni le scrivi in //loggato
    dipende come le vuoi impostare. io di solito imposto una sessione chiamata log su 1 cosi si capisce che l'user è loggato
    Codice PHP:
    $_SESSION['log']="1";
    poi metti il nome
    Codice PHP:
    $_SESSION['nick']="$nick";
    e poi se vuoi crei l'arey dei dati sulla tabella con
    Codice PHP:
    $row=mysql_fetch_array($user);
    e di conseguenza inposti le altre sessioni
    per esempio
    Codice PHP:
    $_SESSION['email']=$row['email'];
    poi dipende da quante colonne hai sulla tabella

    ciao ciao

  17. #17
    Guest

    Predefinito

    prima funzionava , almeno entrava una volta e poi cadeva , ora mi die sempre non logggato
    che è sbgliato il nikc e la password , ma non sono sbagliate .. questi sono i codici , ho provato e riprovato con tutti i codici che mi avete dato
    Codice PHP:
    <?php include("connessione.php");
    $nickname= $_POST['nickname'];
    $password= $_POST['password'];
    $dbconnect = mysql_connect($dbhost,$dbuser,$dbpassword)or die("Impossibile stabilire una connessione con il database");
    mysql_select_db($dbname,$dbconnect) or die("Impossibile selezionare il database");
    $user=mysql_query("SELECT * FROM registrazione WHERE nickname='".$_POST['nickname']."' AND password='".$_POST['password']."' LIMIT 1;",$dbconnect);
    if(
    mysql_num_rows($q)>0){
    $user=true;
    }else{
    $user=false;
    }
    if(
    $user){pagina.php}else{non loggato} ?>
    ,,
    Ultima modifica di babilonia6 : 20-02-2009 alle ore 18.52.04 Motivo: errore

Regole di scrittura

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