Visualizzazione risultati 1 fino 1 di 1

Discussione: php: problema con le sessioni

  1. #1
    Guest

    Predefinito php: problema con le sessioni

    Ciao a tutti
    sto creando un sito dove nella pagina iniziale c'è la richiesta di una login (matricola) e una password che permette di accedere ad una form per una richiesta di domande. Questa form è molto grossa quindi ho creato una pagina iniziale dove a secondo i vari argomenti ci sono dei pulsanti che richiamano le varie pagine del sondaggio. Ho la necessità di trascinare in ogni pagina il codice della matricola che è il mio campo chiave. Ho usato le sessioni come mi è stato suggerito ma poi non capisco come faccio a scrivere sul mio db il cod. matricola. Sotto riporto il codice delle pagine, chi mi può dare qualche suggerimento di come fare? Oppure correggermi dove sbaglio. Sono disperata!!!! AIUTATEMI!!! Grazie anticipatamente.

    Pagina di collegamento
    Codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.mobility.altervista.it/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.mobility.altervista.it/2007/xhtml" xml:lang="it" lang="it">
    
    <head>
    
    <title> Mobility </title>
     <link rel="stylesheet" type="text/css" href="test.css" /> 
    </head>
    
    <body>
    <div id="container">
        <div id="header">
            
        <h1>MOBILITA SOSTENIBILE</h1>
        </div>
        <div id="navigation">
            <ul>
                <li><a id="activelink" href="#">Home</a></li>
                <li><a href="#">Chi siamo</a></li>
                <li><a href="#">Mission</a></li>
                <li><a href="#">Dove Operiamo</a></li>
                <li><a href="#">Servizi mobilità</a></li>
                <li><a href="#">Servizi ambiente</a></li>
                <li><a href="#">Forum</a></li>
    			<li><a href="#">Link</a></li>
                        </ul>
    
        </div>
    CODICE PHP
    Codice PHP:
    <?php

    // inizializzo la sessione
    session_start();

    // connessione al database
    require ('connessione.php');

    $nick=$_POST["nick"];
    $password=$_POST["password"];
    $noreg = 0;

    $strsql = "SELECT * FROM iscritti WHERE matricola='$nick' and password='$password' ";
    $rs = @mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());

    while (
    $riga = mysql_fetch_array($rs)) {
    $str_fam=$riga['fammin'];
    $noreg = 1;
    }
    if (
    $noreg) {
    // salvo i dati nella sessione
    $ris = mysql_fetch_array($result);
    $_SESSION['id_matricola'] = $ris['$nick'];
    include (
    "sondaggio.php");
    } else {
    echo
    "Attenzione si è verificato un errore nella login<br>";
    }
    ?>
    PAGINA CHE RICHIAMA LE VARIE PAGINE DEL SONDAGGIO
    Codice PHP:
    <?PHP
    session_start
    ();
    // se i dati di sessione non sono stati registrati
    if(!isset($_SESSION['id_matricola']))
    {
    // mandi alla pagina di login
    header("http://mobility.altervista.org/index.php");
    }

    ?>

    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#FFFFFF" text="#000000">

    <p><font size="+2"><i><b><font face="Arial, Helvetica, sans-serif">Obiettivo del
    questionario &egrave; ricostruire una descrizione completa del Suo profilo di
    mobilit&agrave;: Le chiediamo di rispondere facendo attenzione di scegliere
    il giorno della settimana che meglio rappresenti lo spostamento abituale (escludendo
    giornate di inattivit&agrave; delle scuole o prefestivi). </font></b></i></font></p>
    <p>&nbsp;</p>
    <p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="112" height="46">
    <param name=movie value="datpers.swf">
    <param name=quality value=high>
    <param name="BASE" value=".">
    <param name="BGCOLOR" value="#FFFFFF">
    <embed src="datpers.swf" base="." quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="112" height="46" bgcolor="#FFFFFF">
    </embed>
    </object> </p>
    </body>
    </html>
    PRIMA PAGINA DEL SONDAGGIO
    Codice HTML:
    <html>
    <head>
    <title>Mobility</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body bgcolor="#FFFFFF" text="#000000">
    
    <script language="javascript">
     <!--
      function Modulo() {
         // Variabili associate ai campi del modulo
         var comune = document.modulo.comune.value;
         var provincia = document.modulo.provincia.options[document.modulo.provincia.selectedIndex].value;
         var viapiazza = document.modulo.viapiazza.value;
         var civico = document.modulo.civico.options[document.modulo.civico.selectedIndex].value;
         var cap = document.modulo.cap.value;
         var sesso = document.modulo.sesso.options[document.modulo.sesso.selectedIndex].value;
         
            //Effettua il controllo sul campo comune
            if ((comune == "") || (comune == "undefined")) {
               alert("Il campo Comune è obbligatorio.");
               document.modulo.comune.focus();
               return false;
    	}
            //Effettua il controllo sul campo PROVINCIA
            else if ((provincia == "") || (provincia == "undefined")) {
              alert("Il campo PROVINCIA è obbligatorio.");
              document.modulo.provincia.focus();
              return false;
            }
            //Effettua il controllo sul campo viapiazza
            else if ((viapiazza == "") || (viapiazza == "undefined")) {
               alert("Il campo Via o Piazza è obbligatorio.");
               document.modulo.viapiazza.focus();
               return false;
     	}
            //Effettua il controllo sul campo Nr. CIVICO
            else if ((civico == "") || (civico == "undefined")) {
               alert("Il campo Nr. CIVICO è obbligatorio.");
               document.modulo.civico.focus();
               return false;
            }
    	//Effettua il controllo sul campo CAP
            else if ((isNaN(cap)) || (cap == "") || (cap == "undefined")) {
               alert("Il campo CAP è numerico ed obbligatorio.");
               document.modulo.cap.value = "";
               document.modulo.cap.focus();
               return false;
            }
    	//Effettua il controllo sul campo SESSO
            else if ((sesso == "") || (sesso == "undefined")) {
              alert("Il campo è obbligatorio.");
              document.modulo.sesso.focus();
              return false;
            }
            //INVIA IL MODULO
            else {
     	document.modulo.action = "ac_datipersonali.php";
            document.modulo.submit();
            }
      }
     //-->
    </script> 
    
    
    <form method="post" name="modulo">
    <h3><b><i><font color="#00CC33">SEZIONE 1 : DATI PERSONALI</font></i></b></h3>
      <p><font size="3" face="Arial, Helvetica, sans-serif" color="#00CC33">La sede 
        in cui abitualmente lavora &egrave;: </font></p>
      <h4><b><font color="#00CC33">INDIRIZZO DA CUI PARTE PER RECARSI AL LAVORO</font></b></h4>
      <h4>Comune 
        <input type="text" name="comune" size="40" maxlength="40" id="comune">
      </h4>
      <h4>Provincia 
        <select name="provincia" id="provincia">
          <option>- Sel. la tua prov. -</option>
            <option value="MI">MI</option>
            <option value="NA">NA</option>
            <option value="FI">FI</option>
            <option value="BO">BO</option>        
        </select>
      </h4>
      <h4>Via o piazza 
        <input type="text" name="viapiazza" size="40" maxlength="40" id="viapiazza">
      </h4>
      <h4>N&deg; civico 
        <select name="nrcivico" size="1" id="civico">
          <option> - </option>
          <option value="1">1</option>
          <option value="2">2</option>
          </select>
      </h4>
      <h4>CAP 
        <input type="text" name="cap" size="5" maxlength="5" id="cap">
      </h4>
      <h4>&nbsp;</h4>
      <h4><font color="#00FF00">D.2</font> Sesso: 
        <select name="Sesso" size="1" id="sesso">
          <option> = </option>
          <option value="Donna">Donna</option>
          <option value="Uomo">Uomo</option>
        </select>
      </h4>
      <h4><font color="#00CC33">D.3</font> Anno di nascita: 19 
        <select name="select" size="1">
          <option>=</option>
          <option>01</option>
          <option>02</option>
          </select>
      </h4>
      <h4><font color="#00CC33">D.4</font> Anzianit&agrave; di servizio in azienda: 
        <select name="select2" size="1">
          <option>=</option>
          <option>1</option>
          <option>2</option>
        </select>
        <i>( per i neo assunti indicare 1 anno)</i></h4>
      <h4>
        <input type="button" value="Invia" onClick="Modulo()">
      </h4>
    </form>
    
    </body>
    </html>
    CODICE PHP
    Codice PHP:
    <?PHP

    require ('connessione.php');


    $nick = $_POST['nick'];
    $ccomune = $_POST['comune'];
    $cprov = $_POST['provincia'];

    // controllo se c'è già il record
    $strsql = "SELECT count(*) as checkmatr from datipersonali WHERE matricola = '$nick'";
    $rs = @mysql_query($strsql,$link) or die("Errore: ". mysql_error());
    $riga = mysql_fetch_array($rs);

    // se non c'è vado in insert altrimenti in update
    if (!$riga['checkmatr']) {

    $strsql = "INSERT INTO datipersonali (matricola,comune,provincia) VALUES ('$nick','$ccomune','$cprov')";
    $rs = @mysql_query($strsql,$link) or die("Errore: ". mysql_error());
    echo
    "questi sono i campi inseriti: '$nick' '$ccomune' '$cprov'";

    } else {

    $strsql="UPDATE datipersonali SET comune='$ccomune', provincia='$cprov',
    where matricola='
    $cmatr' ";

    }
    ?>
    [DS] Usa i tag HTML e PHP e non il tag QUOTE per riportare ampi stralci di codice: si legge meglio così, vero?
    Ultima modifica di dementialsite : 14-08-2007 alle ore 14.23.04

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •