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 è ricostruire una descrizione completa del Suo profilo di
mobilità: Le chiediamo di rispondere facendo attenzione di scegliere
il giorno della settimana che meglio rappresenti lo spostamento abituale (escludendo
giornate di inattività delle scuole o prefestivi). </font></b></i></font></p>
<p> </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 è: </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° 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> </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à 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?