• User Attivo

    [PHP]<?php
    $conn = mysql_connect('localhost', 'root', '');
    if (!$conn) {
    die ('Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db('redirect', $conn);
    if (!$db_selected) {
    die ("Errore nella selezione del database: " . mysql_error());
    }
    if(isset($_POST['login']))
    {
    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : ''; // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : ''; // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
    $user = addslashes($user);
    $pass = addslashes($pass);
    }
    // Crypto la password e la confronto con quella nel database
    $pass =$pass;
    // Controllo l'utente esiste
    $query = mysql_query("SELECT * FROM tuodatabase WHERE user = '$user' AND pass = '$pass' LIMIT 1");
    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    {
    // prelevo l'id dal database
    $login = mysql_fetch_array($query);
    // Creo una variabile di sessione
    $redirect=$login['redirect'];
    header('Location:'. $redirect);
    exit;
    }
    // se non esiste da l'errore
    else
    die('Nome Utente o Password errati');
    }

    mysql_close($conn);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>
    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="login" type="submit" value="Login" /><br />
    </form>
    </body>
    </html> Prova cosi'
    [/PHP]
    prova cosi'.


  • User Attivo

    eh sì , a quest' uomo bisognerebbe fargli un monumento ( quanto meno io dovrei .. ) , funziona perfettamente !!!! 💋

    A questo punto , approfitto della tua immensa gentilezza e conoscenza per farti due ulteriori domande ( le cui risposte decideranno le sorti di quale materiale verrà fatto il busto di cui sopra :eheh: ) :

    • come posso proteggere le pagine php a cui linko , in modo che , se tramite la cronologia del browser o per puro caso fortuito qualcuno dovesse trovarle , gli venisse richiesta lo user e password invece di mostrargliele ?? tento di spiegarmi meglio : come posso indirizzare chi, senza passare dal login , dovesse tentare di accedere a quelle pagine che vorrei proteggere ?

    • caso differente : cosa devo scrivere nella mia tabella al campo redirect se volessi reindirizzare l' utente verso l' esterno ad un pagina non php , ma tipo httx:\xxx.sito.com ? dato che non mi funziona digitando l' indirizzo nel modo canonico ?

    Che posso dire ? ti ringrazio immensamente e capisco anche che ora inizio ad approfittare forse troppo della tua disponibilità .

    Ti chiedo scusa , ma sei per me fonte di un aiuto immenso .

    Grazie davvero .

    Un salutone :ciauz:


  • User Attivo

    Up !

    Nessuno ha un' idea di come possa fare ? sono due giorni che provo , ma senza risultato ...

    help !

    Ciao e grazie .:ciauz:


  • User Attivo

    Per la prima domanda puoi fare così :
    [PHP]<?php
    session_start();
    $conn = mysql_connect('localhost', 'root', '');
    if (!$conn) {
    die ('Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db('redirect', $conn);
    if (!$db_selected) {
    die ("Errore nella selezione del database: " . mysql_error());
    }
    if(isset($_POST['login']))
    {
    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : ''; // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : ''; // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
    $user = addslashes($user);
    $pass = addslashes($pass);
    }
    // Crypto la password e la confronto con quella nel database
    $pass =$pass;
    // Controllo l'utente esiste
    $query = mysql_query("SELECT * FROM tuodatabase WHERE user = '$user' AND pass = '$pass' LIMIT 1");
    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    {
    // prelevo l'id dal database
    $login = mysql_fetch_array($query);
    // Creo una variabile di sessione
    $redirect=$login['redirect'];
    $_SESSION['login'] = $user;
    header('Location:'. $redirect);
    exit;
    }
    // se non esiste da l'errore
    else
    die('Nome Utente o Password errati');
    }

    mysql_close($conn);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>
    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="login" type="submit" value="Login" /><br />
    </form>
    </body>
    </html> [/PHP]
    E poi, nella pagina protetta :

    [PHP]<?php
    session_start();
    if(!isset($_SESSION['login']) || $_SESSION['login'] != "userchedevevederelapagina") die("TU NON PUOI VEDERE QUESTA PAGINA");
    ?>
    //qui quello che vuoi...[/PHP]
    Per la seconda potresti essere più preciso?:D


  • User Attivo

    Hey , grazie mille ilnetsurfer !!! 💋

    è bello avere a che fare con gente come voi : capace e disponibile . Un sincero ringraziamento .

    per la seconda domanda purtroppo non riesco molto ad essere preciso a causa del fatto che il sistema del forum mi impedisce di scrivere indirizzi web e quindi mi vedo costretto a superare l' ostacolo inserendo delle xxx ...

    in pratica ciò che volevo dire è che se devo reindirizzare un utente ad esempio verso un sito differente da quello su cui è il form , dovrei indicare tale indirizzo nella mia tabella , alla colonna redirect . Ma malauguratamente , non sò il perchè , se in quel campo digito l'indirizzo classico (httx:\xxx.sitodamostrare.xxx) non funziona il redirect .. secondo te come mai ?

    spero di poter essere stato più chiaro .. ma non credo , rileggendomi .. non sono molto bravo a scrivere , chiedo scusa ..:gtsad:

    comunque voglio fin d' ora ringraziarti per tutta la tua disponibilità . Siete da ammirare . Grazie ancora .

    ps: non vedo l' ora di testare , ma sopratutto di CAPIRE hai agito nello script .:)

    pps : funziona tutto !!!! .... però l' ultima pagina protetta che ho visionato,si continua ad aprire anche dopo molto tempo dal mio allontanamento , per cui un utente potrebbe tornarci su senza fare il login ... come posso far sì che ciò non avvenga ?

    Grazie , grazie , grazie !!!


  • User Attivo

    altra domanda : se in una delle pagine protette alle quali ho reindirizzato l' utente ( grazie ancora 10.000 ilnetsurfer ) volessi linkare linkare verso altre pagine , come potrei proteggere quelle ??

    thanks a LOOOOOOOOTTT !!!


  • User Attivo

    Prego, non c'è di che;)Come sai la disponibilità è alle fondamenta di questo forum;)
    Allora...
    Per la prima domanda, ho usato le sessioni :
    [PHP]session_start(); ... $_SESSION['login'] = $user;[/PHP]
    Ecc..Le sessioni sono come dei "cookie temporanei"...Ovvero, alla chiusura del browser vengono cancellati e l'utente deve rifare il login.
    Per la seconda domanda potresti provare così :
    [PHP]<?php
    session_start();
    $conn = mysql_connect('localhost', 'root', '');
    if (!$conn) {
    die ('Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db('redirect', $conn);
    if (!$db_selected) {
    die ("Errore nella selezione del database: " . mysql_error());
    }
    if(isset($_POST['login']))
    {
    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : ''; // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : ''; // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
    $user = addslashes($user);
    $pass = addslashes($pass);
    }
    // Crypto la password e la confronto con quella nel database
    $pass =$pass;
    // Controllo l'utente esiste
    $query = mysql_query("SELECT * FROM tuodatabase WHERE user = '$user' AND pass = '$pass' LIMIT 1");
    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    {
    // prelevo l'id dal database
    $login = mysql_fetch_array($query);
    // Creo una variabile di sessione
    $redirect=$login['redirect'];
    $_SESSION['login'] = $user;
    ?>
    <script type="text/javascript">
    <!--
    function doRedirect() { //funzione con il link alla pagina che si desidera raggiungere
    location.href = "<?php echo $redirect;?>";
    }
    window.setTimeout("doRedirect()", 0); //Fa partire il redirect dopo tot. secondi
    //-->
    </script>
    <?php
    exit;
    }
    // se non esiste da l'errore
    else
    die('Nome Utente o Password errati');
    }

    mysql_close($conn);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>
    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="login" type="submit" value="Login" /><br />
    </form>
    </body>
    </html>
    [/PHP]
    Per la terza domanda, basta che in ogni pagina che tu voglia proteggere inserisca il link :
    <a href = "altrapagprotetta.php">pag</a>
    E nella altrapagprotetta.php inserisca questo codice :
    [PHP]<?php
    session_start();
    if(!isset($_SESSION['login']) || $_SESSION['login'] != "userchedevevederelapagina") die("TU NON PUOI VEDERE QUESTA PAGINA");
    ?>
    //qui quello che vuoi...[/PHP]
    Ola!:ciauz:


  • User Attivo

    Galattico !!!!

    Tutto perfetto !!!

    L' unica cosa è che non ho capito come mai hai aggiunto quello script in javascript ... a che serve ? cosa fa di preciso e perchè hai pensato di inserirla?

    Grazie infinite , davvero mi stupisce la gentilezza e la competenza di certe persone , pronte a condividere invece che custodire gelosamente le loro conoscenze . Meriti davvero una lode per questo Ilnetsurfer .

    Grazie ancora .

    :ciauz:


  • User Attivo

    @Ringraziamenti : Di niente!
    @Domanda :Quello script serve a fare il redirect, ovvero lo stesso lavoro di Header("Redirect : $redirect");
    Il fatto è che gli header possono rivelare molti problemi...E per questo è meglio usare Javascript..;)
    Ola!:ciauz:


  • User Attivo

    Grazie Ilnetpub .

    Sei stato cortesissimo , e sei anche preparatissimo .

    Non sò davvero come ringraziarti .

    L' unico neo è che ti sei " castrato con le tue mani " , perchè per qualsiasi altro dubbio , sarai la prima persona che verrò a cercare ! :eheh:

    Scherzi a parte , spero di potermela cavare sempre meglio con questo bel linguaggio che è PHP . La difficoltà più grande che forse stò incontrando ( non che sia l' unica , intendiamoci ) è quella lacuna alla quale sarà difficile che possa porre rimedio , se non forse con il trascorrere del tempo , che è " l' avere la mentalità da programmatore " .:bho:
    Imparare funzioni , variabili fisse e sintassi è complesso e snervante per chi inizia , ma mai quanto la mancanza ( almeno da parte di chi come me non ha fatto studi specifici ) della giusta mentalità per rapportarsi al linguaggio e alla " macchina " computer .

    Bè , posso solo ringraziarti tantissimo e sperare un giorno , magari anche in un settore differente , di poter ricambiare le tue cortesie .

    Un abbraccio .:bacio:

    Tanaka


  • User Attivo

    Prego ancora, di niente!
    Non ti preoccupare, anche se , come dici tu*,mi sono castrato con le mie mani, *sarò felice di poterti aiutare, come altri hanno fatto con me su questo forum!
    Appena approdato su questo forum ero un grandissimo impreparato ma, piano piano e con l'aiuto degli altri membri, ho imparato davvero tanto...
    Ti assicuro che con il tempo imparerai a destreggiarti con il PHP!;)
    Ola!:ciauz: