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

Discussione: Form cookie

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517

    Form cookie

    Salve ragazzi ho un problema:

    Io voglio inviare i dati di un form ad una pagina php, fin qui tutto bene il problema nasce quando li voglio memorizzare in un cookie una sessione.
    il codice del form è:

    Codice PHP:
    <form name="flogin" method="POST" action="verificaLogin.php">
          <
    p align="left"><input type="text" id="login" name="ILOGIN1" size="9" value="" />
      <
    p align="left">
        <
    input type="password" id="password" name="IPASSWORD1" size="11" value="" />
        </
    span>
        <
    input name="submit" type="submit" value="Invia" />
        <
    span class="clear">
        <
    input name="reset" type="reset" value="Cancella" />
        </
    span></p>
      <
    label for="password"></label>
    </
    form
    mentre la pagina di verifica è questa
    Codice PHP:
    <?php 
    include("config.inc.php");

     
    $nome$_REQUEST['ILOGIN1'];
     
    $password$_REQUEST['IPASSWORD1'];
     
        
    $db mysql_connect($db_host$db_user$db_password);
      if (
    $db == FALSE)
        die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

      
    mysql_select_db($db_name$db)
        or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
        
         
    $query ="SELECT nome_utente FROM utente WHERE nome_utente ='$nome' and password='$password'  LIMIT 0, 1";
         
    $result =mysql_query($query$db);
          
    $row=mysql_fetch_array($result);
          
    $utente=$row['nome_utente'];
         
        if (
    mysql_query($query$db) and ($utente==$nome))
       {
        echo 
    "Benvenuto, [b]$nome[/b],Ora potrai acquistare i nostri prodotti";
       }
       else
       { 
      echo 
    '
    Nome utente e/o password errata. [url="index.php"]riprova[/url].
    '
    ;
      echo 
    '
    Sei non sei registrato [url="register.php"]REGISTRATI[/url].
    '
    ;

       }
     
    mysql_close($db);
     
    ?>
    grazie anticipatamente

  2. #2
    e dov'è che li salvi in un cookie?
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  3. #3
    non sono state nemmeno inizializzate le sessioni..
    Ubuntu rulez!! :P

  4. #4
    secondo me ti devi leggere prima un buon tutorial su cookie e/o sessioni
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    Originariamente inviato da simotenax
    non sono state nemmeno inizializzate le sessioni..
    ho provate ha inserirle ma m da errore...quindi vi ho postato il codice senza sessioni

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    metre quello con la sessione è questa:

    Codice PHP:
    <? 
    session_start
    ();
    session_register("ILOGIN1");
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <script language="JavaScript1.2" type="text/javascript">
    <!--
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
    function MM_nbGroup(event, grpName) { //v6.0
    var i,img,nbArr,args=MM_nbGroup.arguments;
      if (event == "init" && args.length > 2) {
        if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
          img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
          if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
          nbArr[nbArr.length] = img;
          for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
            if (!img.MM_up) img.MM_up = img.src;
            img.src = img.MM_dn = args[i+1];
            nbArr[nbArr.length] = img;
        } }
      } else if (event == "over") {
        document.MM_nbOver = nbArr = new Array();
        for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
          if (!img.MM_up) img.MM_up = img.src;
          img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])?args[i+1] : img.MM_up);
          nbArr[nbArr.length] = img;
        }
      } else if (event == "out" ) {
        for (i=0; i < document.MM_nbOver.length; i++) { img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
      } else if (event == "down") {
        nbArr = document[grpName];
        if (nbArr) for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
        document[grpName] = nbArr = new Array();
        for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
          if (!img.MM_up) img.MM_up = img.src;
          img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
          nbArr[nbArr.length] = img;
      } }
    }

    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    //-->
    </script>
    </head>

    <body>
    <table width="399" height="131" border="0" background="images/index_r10_c27.gif">
      <tr>
        <th width="120" rowspan="2" scope="col"></th>
        <th width="256" height="92" scope="col"><form name="flogin" method="POST" action="verificaLogin.php">
          <p align="left">
            <input type="text" id="login" name="ILOGIN1" size="9" value="" />
            <p align="left">
              <input type="password" id="password" name="IPASSWORD1" size="11" value="" />
              </span>
              <input name="submit" type="submit" value="Invia" />
              <span class="clear">
              <input name="reset" type="reset" value="Cancella" />
              </span>
              <label for="password"></label>
    </form>
        </th>
      </tr>
      <tr>
        <th height="23" scope="col"><div align="right">[url="javascript:;"][/url]
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="105" height="21" title="pulsante registrati">
              <param name="BGCOLOR" value="">
              <param name="movie" value="button1.swf">
              <param name="quality" value="high">
              <embed src="button1.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="105" height="21" ></embed>
            </object>
        </div></th>
      </tr>
    </table>

    </body>
    </html>

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    la sessione deve stare in cima A TUTTE le pagine

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    ragazzi ho risolto, però ora ho degli errori:


    1)Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\index.php:8) in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 14

    2)Notice: Undefined index: username in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 27

    3)Notice: Undefined index: password in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 28
    Benvenuto, ,Ora potrai acquistare i nostri prodotti
    Notice: Undefined index: logout in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 63

    4)Notice: Undefined index: nocookie in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 120

    Codice PHP:
    <?php 
    //gestione della sessione nel caso in cui i cookie sono disabilitati 
    if(IsSet($_POST['PHPSESSID']) && !IsSet($_COOKIE['PHPSESSID'])) 



      
    $PHPSESSID=$_POST['PHPSESSID']; 

      
    header("Location: $redirect?PHPSESSID=$PHPSESSID"); //si ricarica la pagina di login 

    }
     
    session_start(); //si inizia o continua la sessione 

    //controllo user e passwd da login 

    include("config.inc.php");
     
        
    $db mysql_connect($db_host$db_user$db_password);
      if (
    $db == FALSE)
        die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

      
    mysql_select_db($db_name$db)
        or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
        
         
    $nome$_POST['username'];
         
    $password=$_POST['password']; 
        
         
    $query ="SELECT nome_utente FROM utente WHERE nome_utente ='$nome' and password='$password'  LIMIT 0, 1";
         
    $result =mysql_query($query$db);
          
    $row=mysql_fetch_array($result);
          
    $utente=$row['nome_utente'];
         
        if (
    mysql_query($query$db) and ($utente==$nome))
       {
        echo 
    "Benvenuto, [b]$nome[/b],Ora potrai acquistare i nostri prodotti";
        
    $_SESSION['user']=$nome
       }
       else
       { 
      echo 
    '
    Nome utente e/o password errata. [url="index.php"]riprova[/url].
    '
    ;
      echo 
    '
    Sei non sei registrato [url="register.php"]REGISTRATI[/url].
    '
    ;

       }
     
    mysql_close($db);
     

    //creazione cookie per login automatico 

    if(IsSet($_POST['ricorda']) && IsSet($_SESSION['user'])) 



      
    $cok=md5($nome)."%%".$password

      
    setcookie("sav_user",$cok,time()+31536000); 



    //logout 

    if($_GET['logout']==1



      
    $_SESSION=array(); // Desetta tutte le variabili di sessione. 

      
    session_destroy(); //DISTRUGGE la sessione. 

      
    if(IsSet($_COOKIE['sav_user'])) //se presente si distrugge il cookie di login automatico 

        
    setcookie("sav_user",$cok,time()-31536000); 

      
    header("Location: $redirect"); //si ricarica la pagina di login 

      
    exit; //si termina lo script in modo da ritornare alla schermata di login 



    //controllo user e passwd da cookie 

    if(IsSet($_COOKIE['sav_user'])) 



      
    $info_cok=$_COOKIE['sav_user']; 

      
    $cok_user=strtok($info_cok,"%%"); 

      
    $cok_pass=strtok("%%"); 

      
    setcookie("sav_user",$info_cok,time()+31536000);

      if(
    $cok_user==md5($login_user) && $cok_pass==$pass_user


        
    $_SESSION['user']=$login_user




    //caso in cui si vuole ricordare il login, ma i cookie sono off 

    if(!IsSet($_COOKIE['PHPSESSID']) && IsSet($_POST['ricorda'])) 

      
    header("Location: $redirect?nocookie=1"); 
    ?> 

    <html>
    <head>
    </head>
    <body>
    <?php 

    $PHPSESSID
    =session_id(); 
    if(!IsSet(
    $_SESSION['user'])) //non siamo loggati, pagina di login 
    {

      if(
    $_GET['nocookie']==1//i cookie sono off e si vuole ricordare il login 
        
    print("Spiacente, ma con i cookie disabilitati non posso fare i miracoli ;)
     

    Attivali se vuoi ricordare il tuo login.
    "
    );

      print(
    "

     <FORM METHOD=POST ACTION=\"login.php\"> 

    username: 
    <INPUT TYPE=TEXT SIZE=20 NAME=username>
     

    password: 
    <INPUT TYPE=PASSWORD SIZE=20 NAME=password>
     
    ricordami: <INPUT TYPE=CHECKBOX NAME=ricorda VALUE=1>

     

    <INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=\"Loggami\">
    "
    ); 
      if(!IsSet(
    $_COOKIE['PHPSESSID'])) //i cookie sono off, dobbiamo propagare noi il PHPSESSID 
      
    print("<INPUT TYPE=HIDDEN NAME=PHPSESSID VALUE=$PHPSESSID>"); 
      print(
    "</FORM>"); 



    else 
    //siamo loggati pagina riservata 


      
    $username=$_SESSION['user']; 
      print(
    "Il tuo ID ?: $PHPSESSID 

    "
    ); 
      print(
    "Sei loggato come: $login_user

    "
    ); 
      print(
    "<A HREF=\"login.php?logout=1\">logout</A>"); 



    ?>

    </body>
    </html>

  9. #9
    non sono errori sono delle segnalazioni.....ricorda che non puoi settare un cookie se prima hai mandato in output dei dati a video....non ho letto tutto il codice poichè è tanto e non indichi le righe dell'errore, e mettermi a contarle è un'impresa..
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    Originariamente inviato da il pupo
    ragazzi ho risolto, però ora ho degli errori:


    1)Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\index.php:8) in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 14

    2)Notice: Undefined index: username in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 27

    3)Notice: Undefined index: password in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 28
    Benvenuto, ,Ora potrai acquistare i nostri prodotti
    Notice: Undefined index: logout in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 63

    4)Notice: Undefined index: nocookie in c:\programmi\easyphp1-8\www\antichita cipriani_finale_2\login.php on line 120

    Codice PHP:
    <?php 
    //gestione della sessione nel caso in cui i cookie sono disabilitati 
    if(IsSet($_POST['PHPSESSID']) && !IsSet($_COOKIE['PHPSESSID'])) 



      
    $PHPSESSID=$_POST['PHPSESSID']; 

      
    header("Location: $redirect?PHPSESSID=$PHPSESSID"); //si ricarica la pagina di login 

    }
     
    session_start(); //si inizia o continua la sessione //Primo Warning
    //controllo user e passwd da login 

    include("config.inc.php");
     
        
    $db mysql_connect($db_host$db_user$db_password);
      if (
    $db == FALSE)
        die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

      
    mysql_select_db($db_name$db)
        or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
        
         
    $nome$_POST['username']; //errore 27
         
    $password=$_POST['password']; //errore 28
        
         
    $query ="SELECT nome_utente FROM utente WHERE nome_utente ='$nome' and password='$password'  LIMIT 0, 1";
         
    $result =mysql_query($query$db);
          
    $row=mysql_fetch_array($result);
          
    $utente=$row['nome_utente'];
         
        if (
    mysql_query($query$db) and ($utente==$nome))
       {
        echo 
    "Benvenuto, [b]$nome[/b],Ora potrai acquistare i nostri prodotti";
        
    $_SESSION['user']=$nome
       }
       else
       { 
      echo 
    '
    Nome utente e/o password errata. [url="index.php"]riprova[/url].
    '
    ;
      echo 
    '
    Sei non sei registrato [url="register.php"]REGISTRATI[/url].
    '
    ;

       }
     
    mysql_close($db);
     

    //creazione cookie per login automatico 

    if(IsSet($_POST['ricorda']) && IsSet($_SESSION['user'])) 



      
    $cok=md5($nome)."%%".$password

      
    setcookie("sav_user",$cok,time()+31536000); 



    //logout 

    if($_GET['logout']==1//errore 63



      
    $_SESSION=array(); // Desetta tutte le variabili di sessione. 

      
    session_destroy(); //DISTRUGGE la sessione. 

      
    if(IsSet($_COOKIE['sav_user'])) //se presente si distrugge il cookie di login automatico 

        
    setcookie("sav_user",$cok,time()-31536000); 

      
    header("Location: $redirect"); //si ricarica la pagina di login 

      
    exit; //si termina lo script in modo da ritornare alla schermata di login 



    //controllo user e passwd da cookie 

    if(IsSet($_COOKIE['sav_user'])) 



      
    $info_cok=$_COOKIE['sav_user']; 

      
    $cok_user=strtok($info_cok,"%%"); 

      
    $cok_pass=strtok("%%"); 

      
    setcookie("sav_user",$info_cok,time()+31536000);

      if(
    $cok_user==md5($login_user) && $cok_pass==$pass_user


        
    $_SESSION['user']=$login_user




    //caso in cui si vuole ricordare il login, ma i cookie sono off 

    if(!IsSet($_COOKIE['PHPSESSID']) && IsSet($_POST['ricorda'])) 

      
    header("Location: $redirect?nocookie=1"); 
    ?> 

    <html>
    <head>
    </head>
    <body>
    <?php 

    $PHPSESSID
    =session_id(); 
    if(!IsSet(
    $_SESSION['user'])) //non siamo loggati, pagina di login 
    {

     
    //errore 120 if($_GET['nocookie']==1) //i cookie sono off e si vuole ricordare il login 
        
    print("Spiacente, ma con i cookie disabilitati non posso fare i miracoli ;)
     

    Attivali se vuoi ricordare il tuo login.
    "
    );

      print(
    "

     <FORM METHOD=POST ACTION=\"login.php\"> 

    username: 
    <INPUT TYPE=TEXT SIZE=20 NAME=username>
     

    password: 
    <INPUT TYPE=PASSWORD SIZE=20 NAME=password>
     
    ricordami: <INPUT TYPE=CHECKBOX NAME=ricorda VALUE=1>

     

    <INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=\"Loggami\">
    "
    ); 
      if(!IsSet(
    $_COOKIE['PHPSESSID'])) //i cookie sono off, dobbiamo propagare noi il PHPSESSID 
      
    print("<INPUT TYPE=HIDDEN NAME=PHPSESSID VALUE=$PHPSESSID>"); 
      print(
    "</FORM>"); 



    else 
    //siamo loggati pagina riservata 


      
    $username=$_SESSION['user']; 
      print(
    "Il tuo ID ?: $PHPSESSID 

    "
    ); 
      print(
    "Sei loggato come: $login_user

    "
    ); 
      print(
    "<A HREF=\"login.php?logout=1\">logout</A>"); 



    ?>

    </body>
    </html>
    Scusami ora ho inserito la possizione degli errori...Cm posso togliere i warning?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.