Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 24 su 24
  1. #21
    Scusa il doppio post... Quell'errore potrebbe esser dovuto alla configurazione del tuo php.ini...
    Vai a QUESTA pagina e scorri finchè non trovi i rettangoli beige con scritto "Caution"..

    Comunque se usi $_SESSION come ti ho detto nel post prima non hai di questi problemi, in qualsiasi caso...
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  2. #22
    Originariamente inviato da iraiscoming223
    Scusa il doppio post... Quell'errore potrebbe esser dovuto alla configurazione del tuo php.ini...
    Vai a QUESTA pagina e scorri finchè non trovi i rettangoli beige con scritto "Caution"..

    Comunque se usi $_SESSION come ti ho detto nel post prima non hai di questi problemi, in qualsiasi caso...
    Quoto..era meglio che lasciavi l'altra assegnazione!

    Pertanto modifica

    session_register("myusername");
    session_register("mypassword");

    con

    $_SESSION['username'] = $myusername;
    $_SESSION['password'] = $mypassword;

  3. #23
    Ciao a tutti.
    Innanzitutto come ti hanno già fatto notare: NON PUI USARE session_register o session_unregister, session_is_registered SE USI L'ARRAY SUPER GLOBALE $_SESSION. Per andare + in dettaglio scaricato IL BENEDETTO MANUALE DI PHP dal sito www.php.net e studia!


    Comunque, per esempio, per registrare la variabile pippo nella sessione devi fare:

    $_SESSION['pippo'] = VALORE_DA_ASSEGNARE;

    Per eliminare pippo, invece: unset($_SESSION['pippo']);

    Per vedere se pippo esiste nella sessione:

    if (isset($_SESSION['pippo']))...........


    Poi, mai APRIRE LA SESSIONE e registrare log e pass prima di aver controllato la validità del log-in altrimenti qualcuno potrebbe facilmente "fregarti la sessione".
    E, comunque, già il fatto che invii i dati in chiaro (cioé usando la normale navigazione http invece di https) è pericoloso. Se i dati che gestisci degli utenti non sono così importani va bene lo stesso.


    Infine, scusa ma anziché avere una pagina uguale sia per chi effettua il log-in sia per ki naviga liberamente, non potresti farne 2 differenti? O meglio il concetto è da una parte ti crei le pagine dove tutti liberamete possono accedere senza log-in, e dall'altra hai quelle pagine in cui solo chi si è loggato può entrare, cioé una sorta di "area riservata".

    Quindi nella pagina iniziale home.php metti su la sezione dove uno può fare il log-in e nella parte centrale tutto ciò che vuoi inserire.
    Nella home, ovviamente, non usi la sessione non ha senso.

    Poi, quando fai il submit vai in check login.php:

    <?php
    $host="localhost"; // Hostname
    $username="***"; // Mysql username
    $password="***"; // Mysql password
    $db_name="utenti_registrati"; //Nome del Database
    $tbl_name="utenti"; // Nome della Tabella

    // Procedimento per connettersi al Database
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    // Nome utente e password inviate attraverso il form
    $myusername=$_POST['myusername'];
    $mypassword=$_POST['mypassword'];

    $sql="SELECT * FROM $tbl_name WHERE username='".addslashes($myusername)."' and password='".addslashes($mypassword)."'";
    $result=mysql_query($sql);
    $count=mysql_num_rows($result);

    if ($count==1)
    {
    //LA SESSIONE LA INIZI QUI, CIOE' QUANDO SEI SICURO CHE USER E PASS SONO
    //GIUSTE
    session_start();
    $_SESSION['userid'] = $myusername;

    header("location:BENVENUTO.php");
    }
    else
    {
    echo "Attenzione username o password errati" . "\n

    <a href=java-script:history.back()>Torna indietro</a>";
    }
    ?>

    Se il log-in è valido vai in benvenuto.php, altrimenti fai uscire a video il messaggio di errore.

    Poi, in questa istruzione:

    $sql="SELECT * FROM $tbl_name WHERE username='".addslashes($myusername)."' and password='".addslashes($mypassword)."'";

    Non usare addslashes ma usa mysql_real_escape_string

    quindi:

    $sql = "SELECT * FROM $tbl_name
    WHERE username= '" . mysql_real_escape_string($myusername) . "' and
    password='" . mysql_real_escape_string($mypassword) . "'";

  4. #24
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    107
    Perfetto ragazzi! Sembra funzionare! Grazie mille...

    L'errore secondo me era sicuramente nel fatto che non usavo
    $_SESSION['myusername'] = $myusername;
    $_SESSION['mypassword'] = $mypassword;

    ma usavo

    session_register['myusername'];

    siete dei grandi!!!! Grazie mille!!!

    Direi a questo punto che si può chiudere il POST
    Giovanni

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.