Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Login e messaggio di benvenuto

    Allora nella home page ho un form che mi chiede username e password.
    Fatto "Login" va alla pagina "checklogin.php" che ha questo codice:

    <?php
    $host="localhost";
    $username="pippo";
    $password="pippo";
    $db_name="topolino";
    $tbl_name="paperino";

    mysql_connect("$host", "$username", "$password")or die("Non riesco a connettermi, cazzo!");
    mysql_select_db("$db_name")or die("Non trovo il DB");

    $myusername=$_POST['myusername'];
    $mypassword=$_POST['mypassword'];

    $myusername = stripslashes($myusername);
    $mypassword = stripslashes($mypassword);
    $myusername = mysql_real_escape_string($myusername);
    $mypassword = mysql_real_escape_string($mypassword);

    $sql="SELECT * FROM $tbl_name WHERE AccountID='$myusername' and Password='$mypassword'";
    $result=mysql_query($sql);

    // Mysql_num_row is counting table row
    @$count=mysql_num_rows($result);
    // If result matched $myusername and $mypassword, table row must be 1 row

    if($count==1){
    // Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("myusername");
    session_register("mypassword");
    header("location:login_success.php");
    }
    else {
    echo "Hai sbagliato ad inserire username e password, riprova, sarai più fortunato";
    }
    ?>

    ____________________

    OK e fin qui funziona. Una cosa non capisco però: quando poi mi logga... cosa devo fare per far si che:

    1) l'utente possa navigare nelle altre pagine

    2) come faccio a mettere un messaggio tipo: "Benvenuto Nome Utente"?

  2. #2
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    per navigare sul sito e stampare nome , basta che nel file check-login.php setti una variabile di sessione
    esempio:

    Codice PHP:
    session_start();
    $_SESSION['stato'] = 1;
    $_SESSION['utente']=$result['nome_utente']; 
    mentre nelle altre pagine sopra a tutto (prima riga della pagina) metti il controllo:

    Codice PHP:
    <?php session_start(); 

     if (
    $_SESSION['admin'] != 1)

     { 
    header('Location:login.php'); exit; } ?>
    e il messaggio di benvenuto lo fai stampare dove ti pare nella pagina;

    Codice PHP:
    echo 'Benvenuto '.$_SESSION['nome_utente']; 

  3. #3
    Grazie mille! Sto provando a farlo ma non funziona perchè ritorna alla pagina del login e mi da questo errore:

    Codice PHP:
    NoticeUndefined variable_SESSION in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\phptemplate\indexplus2.php on line 87 
    In linea 87 c'è il codice seguente:

    Codice PHP:
    echo 'Benvenuto '.$_SESSION['myusername']; 

  4. #4
    Allora siccome penso che non manchi tanto alla soluzione vi prego di aiutarmi:

    indexplus (dove c'è il login):
    Codice PHP:
    <?  session_start();  if(!session_is_registered(myusername)){  }  echo "Benvenuto $myusername";  //?>      
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml"><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Language" content="it-IT">  <meta name="description" content="Vendita e assistenza pc, workstation e server"><meta name="author" content="NT"><link rel="stylesheet" media="screen,projection" type="text/css" href="css/main.css"><link rel="stylesheet" media="screen,projection" type="text/css" href="css/skin.css"><script type="text/javascript" src="javascript/jquery.js"></script><script type="text/javascript" src="javascript/jquery.loopedslider.js"></script><script type="text/javascript" src="javascript/cufon-yui.js"></script><script type="text/javascript" src="javascript/font.font.js"></script><script type="text/javascript">
    Cufon.replace('.cufon, .nav, .slogan', {hover:true});</script><title>  NT Nuove Tecnologie</title>  <style type="text/css">  .auto-style1 {      text-align: right;      font-size: xx-small;      color: #FFFFFF;  }  .auto-style2 {      text-align: right;      color: #FFFFFF;      font-size: x-small;  }  </style>  </head><body id="hp">     <div class="bg">    <div class="main">              <div class="header box">            <p class="logo" style="left: 25px; top: 99px">[url="./"]          [img]Immagini/logoNT_2012.png[/img][/url]</p>                              <ul class="nav box"><li class="current">
    [url="#"]Home[/url]              [*]
    [url="#"]Azienda[/url]              [*]
    [url="#"]Servizi[/url]              [*]
    [url="#"]Contatti[/url]              <table border="0" align="right" cellpadding="0" cellspacing="1" style="width: 200px">  <tr>  
    <form name="form1" method="post" action="checklogin.php">  <td class="va-top">  <table width="200px" border="0" cellpadding="3" cellspacing="1" >  <tr>  <td colspan="3" class="auto-style2">[b]Accesso Area riservata [/b]</td>  </tr>  <tr>  <td width="50" class="auto-style1">Utente</td>  <td width="6">:</td>  <td width="50"><input name="myusername" type="text" id="myusername"></td>  </tr>  <tr>  <td class="auto-style1">Password</td>  <td>:</td>  <td><input name="mypassword" type="text" id="mypassword"></td>  </tr>  <tr>  <td></td>  <td></td>  <td class="t-right"><input type="submit" name="Submit" value="Login"></td>  </tr>  </table>  </td>  </form>  </tr>  </table>              [*]
                                [*]          [/list]</div>
    Questo rimanda al checklogin:


    Codice PHP:
    <?php  $host="localhost"
    // Host  $username="*****"; // Mysql username  $password="*****"; 
    // Mysql password  $db_name="prova1"; // Database   $tbl_name="clienti"; // Tabella    // Connessione al DB selezionato  mysql_connect("$host", "$username", "$password")or die("Non riesco a connettermi!");  mysql_select_db("$db_name")or die("Non trovo il  Database");    // username and password mandati via form  $myusername=$_POST['myusername'];  $mypassword=$_POST['mypassword'];    
    // Per proteggersi dalle MySQL injection  $myusername = stripslashes($myusername);  $mypassword = stripslashes($mypassword);  $myusername = mysql_real_escape_string($myusername);  $mypassword = mysql_real_escape_string($mypassword);    $sql="SELECT * FROM $tbl_name WHERE AccountID='$myusername' and Password='$mypassword'";  $result=mysql_query($sql);    // Mysql_num_row is counting table row  @$count=mysql_num_rows($result);  
    // If result matched $myusername and $mypassword, table row must be 1 row    if($count==1){  // Register $myusername, $mypassword and redirect to file "login_success.php"  session_register("myusername");  session_register("mypassword");    session_start();   $_SESSION['stato'] = 1;   $_SESSION['utente']=$result['myusername'];    header("location:login_success.php");  }  else {  echo "Username e/o password errati!";  }  
    ?>

    e poi alla pagina di conferma di accesso:

    Codice PHP:
    <?  // verifica che l'utente sia registrato altrimenti rimanda alla pagina  // inserire questo codice all'inizio della pagina web  session_start();  if(!session_is_registered(myusername)){  header("location: /indexplus.php");  }  ?>      <HTML>  <HEAD>  <TITLE>Redirect...</TITLE>  <META HTTP-EQUIV="REFRESH" CONTENT="2; /phptemplate/indexplus.php">      <style type="text/css">  .auto-style2 {      text-align: center;      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;      color: #9B9B9B;  }  </style>    </HEAD>  <BODY>    <table align="center" style="width: 250px; height: 500px">      <tr>          <td></td>          <td>          <p class="auto-style2">Accesso in corso..</p>          <?php           echo 'Benvenuto '.$_SESSION['myusername']; ?>          <p class="auto-style2">          [img]loading9.gif[/img]</p>          </td>          <td></td>      </tr>  </table>      </BODY>  </HTML>
    Purtroppo però mi da errore dove provo a stampare il messaggio di benvenuto. Riuscite ad aiutarmi?

  5. #5
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    vedi che prima di sessione_start(); non devono esserci righe vuote.
    sessione_start(); deve essere prima riga del codice della pagina

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.