• 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());
    }
    ?>
    <?php
    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>[/PHP]
    Prova cosi'
    crea db
    id,user,pass,redirect.


  • User Attivo

    @mikslap said:

    Per questo dovresti usare le sessioni, di php, in quanto è l'unico strumento sicuro per l'autenticazione di un utente.
    Adesso non ho tempo per darti spiegazioni, ma domani ti darò qualche dritta.
    CIAO

    Ti ringrazio moltissimo Mikslap , ogni consiglio è ben accetto . Ci terrei a migliorare e imparare .

    Aspetto ansionso .

    :ciauz:


  • User Attivo

    @patatrac said:

    [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());
    }
    ?>
    <?php
    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>[/php]Prova cosi'
    crea db
    id,user,pass,redirect.

    Mamma mia , Patatrac sei uno spettacolo !!:bacio:

    Sono curioso di analizzare e cercare di capire il tuo script , non chè di provarlo !!!

    Lo faccio subito e poi ti dico , eh ?

    Grazie mille !!!!!!!!

    A dopo !:ciaosai:


  • User Attivo

    Grazie infinite Patatrac per il tuo incredibile sforzo e per la tua disponibilità . Un sincero grazie per tutto .

    Devo dire purtroppo che però ho ancora guai , perchè sia che metta dati corretti che sbagliati ottengo di risposta un errore , e cioè questo :

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/web/...../www/...../patatrac.php on line 28
    Nome Utente o Password errati

    Cosa può essere ? nel database sono presenti due sole voci con id sequenziale ed ovviamente gli altri campi correttamente riempiti .. nel tuo script "credo" ( perchè a stò punto .. ) di aver correttamente sostituito tutti i dati personali correttamente ...

    Se hai ancora voglia di aiutarmi , te ne sarei grato ..

    Un salutone


  • User Attivo

    ehm .. sono un defo .. i nomi dei campi della mia tabella non corrispondevano con i tuoi .. ecco l' errore .. lascia perdere .. sarà l' età , che ne sò ... comunque ho risolto ..

    ora però ottengo :

    Warning: Cannot modify header information - headers already sent by (output started at--/xxx/web/xxx.miosito.xxx/www/cartella/script da te fornito:12) in --/xxx/web/xxx.miosito.xxx/www/cartella/script da te fornito on line 34

    le xxx e l'indirizzo farlocco "script da te fornito "sono dovute al fatto che il sistema non mi permetteva di postare l' indirizzo nel post causa del fatto che non sono utente premium ... sorry ..

    Cosa può essere stavolta ??

    Grassie , grassie , grassie !!!:ciauz:


  • 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: