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

Discussione: facile login in php

  1. #1

    facile login in php

    Sono sicuro che si sarà parlato piu' volte di questo mio problema, ma son da piu' giorni ma non riesco a trovare quello giusto o meglio il piu' semplice che faccia al caso mio.
    Ho creato un database con PhpMyAdmin che ho chiamato "my_database" dove ho inserito una tabella con il nome "dati" e i dovuti campi quali "ID,Cognome,Nome,Username,Password,Lingue Parlate......."
    ho creato le pagine in php di "inserimento e aggiornamento record" in automatico con dreamweaver_mx. Ora il mio problema è questo: attraverso una pagina anche in .html, dove faccio una form, inserendo Username e Password mi trovi il record corrispondente a questa Username e Password che mi apri la pagina aggiornamento.php e possa fare le opportune modifiche e quindi salvare il tutto.
    Spero di essere stato chiaro. Grazie!....

  2. #2
    semplice:
    Fai una pagina dove verifichi le credenziali di accesso.
    Una volta che le credenziali sono corrette, indirizzi l'utente sulla pagina che vuoi.
    Ricapitolando: una pagina con un form, per verificare user e password (confrontando da database) e in caso di esito positivo un'altra pagina con quello che vuoi tu.

    ciao

  3. #3
    Grazie per la tua risposta xforza.
    Però, devi scusarmi, siccome sono un pò crudo e sempre con grandi dubbi in materia, non capisco cosa sono le credenziali, scusami, per uno che ne sa qualcosa, ti sei spiegato sicuramente bene, ma per me che sono ignorante in materia è un pò difficile capire. Sempre con gentilezza puoi spiegarmi con un esempio pratico al mio problema cosa devo fare? Grazie!!!!

  4. #4
    fai effettuare il login al cliente, mantieni username e password con delle semplici sessioni, confronta queste e due con il tuo database, e se user e password corrispondono mandi l utente alla pagina "accesso.php" con una bell header location, se poi non corrispondono lo mandi alla pagina accesso_negato.php sempre con lo stesso metodo. chiaro? se vuoi sapere altro, sono a disposizione.
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  5. #5
    Provo a spiegarmi meglio.
    Per prima cosa, in un file, fai un form dove chiedi la user e la password.
    Poi fai un altro file dove, recuperi la user e la password (le credenziali) e le confronti con il database.
    Se user e password inserite sono corrette, reinderizzi ad una pagina (scelta da te) altrimenti ad un 'altra pagina di errore (sempre da te creata).

    Ti posto un esempio di codice (per il secondo file) che uso io, per farti capire (logicamente lo dovrai adattare al tuo codice):

    Codice PHP:
    <?php 
    session_start
    ();

    //includo il file che mi serve
    include ("../config.inc.php");

    //mi connetto al database,user e password
    $db mysql_connect($db_host$db_user$db_password);
    //in caso di errore
    if ($db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

    //mi connetto alla tabella
    mysql_select_db($db_name$db)
    //in caso di errore
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
            
    //preparo la query
    $query "SELECT id, nome, pswd FROM utenti ORDER BY id DESC LIMIT 0,1";

    //invio la query al database
    $result mysql_query($query$db);

    //recupero i dati che arrivano dal database
    $row mysql_fetch_array($result);

    $row['nome'];
    $row['pswd'];

        
    // Recupero i dati dal form 
    $codice_user $_POST['codice_user']; 
    $codice_password MD5($_POST['codice_password']); 

    //confronto i dati inseriti con user e password
    if (($codice_user==$row['nome']) and ($codice_password==$row['pswd']))

    $_SESSION['pippo'] = true;
    header("Location: tua_pagina.php"); 
    exit; 

    else 

    $_SESSION['pippo'] = false;
    header("Location: tua_pag_errore.html"); 

    ?>
    te lo spiego a grandi linee:
    -session....., qui apri la sessione

    -include ("../config.inc.php"); , da qui in poi ti connetti al database (nel file config.inc.php c'è la parte per la connessione al database: $db_host, $db_user, $db_password, $db_name).

    -$codice_user , da qui recuperi la user e la password dal form (il primo file che hai fatto).
    se noti la password è stata codificata con il sistema md5 (puoi anche non metterlo e salvare/leggere la user in "chiaro")

    -header("Location: tua_pagina.php"); , qui dopo aver confrontato la user e la pssword, indirizzi alla pagina che vuoi far vedere.

    La pagina dove vuoi indirizzare l'utente sarà del tipo:

    Codice PHP:
    <?php
    if (isset($_SESSION['pippo'])== true)
    {
    qui il codice della tua pagina .....

    }else {
        echo 
    "La user e password che hai inserito non è corretta"
        
    }
    ?>
    Spero di non averti confuso ancora di più le idee. :master:


  6. #6
    Grazie per il vostro aiuto siete super adesso provero' a fare cosi come è stato dettagliatamente spiegato xforza, speriamo che io ne sia capace a comprendere tutti quei codici, ci proverò e farò sapere.

  7. #7
    xforza: sei stato chiarissimo nella tua descrizione, ma sono io che non arrivo a capire certe cose.
    Allora, ho fatto come hai detto tu, cambiando ovviamente alcuni parametri, la pagina che devo richiamare è benvenuto.php dove qui posso apportare modifiche perchè l'ho già creata in automatico come pagina di aggiornamento record.
    la tua pagina l'ho modificata cosi:
    "<?php
    session_start();
    require_once('Connections/conncentosei.php');

    mysql_select_db($database_conncentosei, $conncentosei);

    //preparo la query
    $query = "SELECT Username, Password FROM dati ORDER BY id DESC LIMIT 0,1";

    //invio la query al database
    $result = mysql_query($query, $db);

    //recupero i dati che arrivano dal database
    $row = mysql_fetch_array($result);

    $row['Username']; (questi sono i campi della form con iniziale maiuscolo)
    $row['Password']; (questi sono i campi della form con iniziale maiuscolo)



    // Recupero i dati dal form
    $codice_user = $_POST['codice_Username']; (poi ho modificato anche questo mettendo solo il nome del campo vabbene sio o no?)
    $codice_password = ($_POST['codice_Password']); (poi ho modificato anche questo mettendo solo il nome del campo vabbene sio o no?)

    //confronto i dati inseriti con user e password
    if (($codice_user==$row['Username ']) and ($codice_password==$row['Password '])) (questi sono sempre i campi della form)
    {
    $_SESSION['pippo'] = true;
    header("Location: benvenuto.php ");
    exit;
    }
    else
    {
    $_SESSION['pippo'] = false;
    header("Location: nobene.html ");
    }
    ?>"


    Ancora ti chiedo: il codice sottostante nel mio caso va messo nella pagina benvenuto.php?
    "<?php
    if (isset($_SESSION['pippo'])== true)
    {
    qui il codice della tua pagina ..... (qui cosa devo mettere non so cosa sia!)
    }else {
    echo "La user e password che hai inserito non è corretta";

    }
    ?>"

    QUESTA E' LA PAGINA benvenuto.php:
    <?php require_once('Connections/conncentosei.php'); ?>
    <?php
    mysql_select_db($database_conncentosei, $conncentosei);
    $query_Recordset1 = "SELECT dati.Cognome, dati.Username, dati.Password, dati.Nome, dati.ID FROM dati ORDER BY `dati`.`ID` DESC ";
    $Recordset1 = mysql_query($query_Recordset1, $conncentosei) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    ?>
    <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) { //reloads the window if Nav4 resized
    if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    //-->
    </script>
    </head>

    <body>
    <div id="Layer1" style="position:absolute; left:40px; top:13px; width:398px; height:307px; z-index:1">
    <table width="388" border="0" cellspacing="2" cellpadding="2">
    <tr>
    <td colspan="3" bgcolor="#FF3300"><font color="#FFFFFF" size="4" face="Arial">Questi
    sono i dati che hai Inserito!.......</font></td>
    </tr>
    <tr>
    <td colspan="2" rowspan="2" bgcolor="#FF3300"><font color="#FFFFFF" size="4" face="Arial">BENVENUTO:</font><font color="#FFFFFF" size="4" face="Arial"></font></td>
    <td width="249"><font color="#800000" size="4" face="Arial"><?php echo ucfirst($row_Recordset1['Cognome']); ?></font></td>
    </tr>
    <tr>
    <td><font size="4" face="Arial"><?php echo ucfirst($row_Recordset1['Nome']); ?></font></td>
    </tr>
    <tr>
    <td width="65" rowspan="2" bgcolor="#FF3300"><font color="#FFFFFF" size="4" face="Arial">LOGIN:</font></td>
    <td width="54" bgcolor="#FF3300"><font color="#FFFFFF" size="2" face="Arial">Username</font></td>
    <td><?php echo $row_Recordset1['Username']; ?></td>
    </tr>
    <tr>
    <td width="54" bgcolor="#FF3300"><font color="#FFFFFF" size="2" face="Arial">Password</font></td>
    <td><?php echo $row_Recordset1['Password']; ?></td>
    </tr>
    <tr>
    <td colspan="3" bgcolor="#FF3300"><font color="#FFFFFF" face="Arial">Seleziona
    il pulsante per collaborare con noi!......
    </font></td>
    </tr>
    </table>


    <font color="#999900" size="4" face="Arial">Come vuoi essere
    inserito!....
    </font></p>
    <table width="399" border="0" cellspacing="2" cellpadding="2">
    <tr>
    <td><form action="aggiorna.php" method="post" name="form1" target="boxvetrina" id="form1">
    <input type="submit" name="Submit" value="LAVORA CON NOI" />
    </form></td>
    </tr>
    <tr>
    <td><form name="form2" id="form2" method="post" action="aggiornaagenzia.php">
    <input type="submit" name="Submit2" value="AGENZIA VIAGGI" />
    </form></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    </table>


    </p>
    </div>


    </p>


    </p>


    </p>


    </p>



    </p>
    </body>
    </html>
    <?php
    mysql_free_result($Recordset1);
    ?>

    Ho fatto tutte le prove possibili ma non riesco. Se dalla pagina login.htm do Username e Password va alla pagina benvenuto.php e mi fa vedere sempre l'ultimo record inserito.
    Grazie per un ulteriore gradito aiuto.......

  8. #8
    Premessa, spero di non aver capito male su quello che cercavi:
    Quello che ti sto facendo fare è una pagina di login che bisogna compilare (con user e password) per poter accedere ad un'altra pagina (che è protetta).
    Quindi, io inserisco user e password (corrette) e il sistema mi apre la pagina protetta (nel tuo caso "benvenuto.php").

    Quindi:

    primo punto scritto così

    // Recupero i dati dal form
    $codice_user = $_POST['Username'];
    $codice_password =$_POST['Password']);

    secondo punto, va bene come hai fatto tu:

    //confronto i dati inseriti con user e password
    if (($codice_user==$row['Username']) and ($codice_password==$row['Password'])) (questi sono sempre i campi della form)
    {
    $_SESSION['pippo'] = true;
    header("Location: benvenuto.php");
    exit;
    }
    else
    {
    $_SESSION['pippo'] = false;
    header("Location: nobene.html");
    }


    L'ultimo punto:
    Ancora ti chiedo: il codice sottostante nel mio caso va messo nella pagina benvenuto.php?
    Certo.
    Quindi questa sarà il nuovo file "benvenuto.php":
    Codice PHP:
    <?php
    session_start
    ();

    if (isset(
    $_SESSION['pippo'])== true)
    {

    qui inserisci tutto il codice della tua pagina che hai e che si chiama "benvenuto.php"

    }else {
    echo 
    "La user e password che hai inserito non è corretta";
    }
    ?>"
    Questo serve per evitare che si possa puntare direttamente alla pagina "benvenuto.php" , senza passare dalla pagina che ti fa inserire "user" e "password".
    Quindi se qualche furbetto (conoscendo il nome del file "benvenuto.php") tenta di accedervi direttamente (saltando la pagina di login) , il sistema risponderà: "La user e password che hai inserito non è corretta".


  9. #9
    OK xforza, ci provero' speriamo che io sia capace a far funzionare il tutto.
    Ringrazio la tua disponibilità.
    Ti faro' sapere.

  10. #10
    XFORZA, io ci sto perdendo le notti per fare tutto questo e vorrei riuscirci perchè devi credermi ci sto studiando seriamente ma è piu' forte dime.
    Allora ti faccio uno schemino di quello che voglio fare cosi ok?

    Ho creato un database (miodatabase) con una tabella (dati) con i campi : ID Cognome,Nome,Username,Password,Lingua,Indirizzo
    esempio: 1 ROSSI LUCA pippo 2222 ita via dilla
    2 Bianchi mattia new new de vianova
    3 Nuovo Sara usa usa sp viabo

    ho creato una pagina dinamica con recordset in aggiornamento(miapaginaagg.php)
    e vedo l'elenco in tabella di tutti i dati inseriti.
    Ora cosa voglio fare io??????
    CHE ATTRAVERSO UNA FORM(form.html), inserendo, appunto la username e la pass che sono gia nel database,
    esempio Username |_____pippo_____|
    Password |_____2222_____|

    |ENTRA|
    Cliccando sul pulsante ENTRA Mi venga estratto il record che fa parte di quella pass e usern
    cioè se scrivo username=pippo e password=2222 mi deve estrarre i dati di pippo con ID 1
    o meglio ID=1non modificabile
    Cognome=ROSSI
    Nome=LUCA
    Lingua=ITA
    Indirizzo=VIA dILLA
    dove l'utente poi puo' apportare eventuale modifiche
    per esempio se cambia indirizzo deve avere la possibilita di entrare nel suo record modificare e aggiornare.
    Se Username e Password non sono nel database o meglio sono errate allora deve indirizzare l'utente alla pagina nobene.php con un messaggio " i dati inseriti non sono esatti riprova" a questo punto deve ritornare alla pagina form.html e ricominciare.
    Non so cosa pensi di me, ma sono sicuro che capisci che sono uno che vuole iniziare con cose semplici capirle bene nella logica e poi in avanti studiare cose piu diverse.
    In Attesa di una tua risposta colgo l'occasione per Augurarti Buon Anno 2010, cosi come a tutti del Forum.

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.