Interazione session_start() e array associativo

  • Creatore Discussione Creatore Discussione Athene
  • Data di inizio Data di inizio

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Ciao ... t volevo chiedere se mi potevi aiutare con questo codice in php ... Devo riempire una form un i dati utente e password per poi passarli ad uno script php che :

utilizzando session_start() m faccia effettuare il login e che rimanda ad una pagina di benvenuto .

Ti riporto i codici utilizzati :

Codice della form:
HTML:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it-IT">

<head> 
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

  <meta name="robots" content="noindex" />
  <meta name="googlebot" content="index" />
  <meta name="robots" content="nofollow" />

  <title>Titolo</title>

</head>
<body>
<div class="corpo">

<form name='login' action='esercizio9.php' method='POST' />

<p> Inserisci qui il tuo nome utente </p>

<input type='text' name='utente'/>

<p>Inserisci qui la password</p>
<input type='text' name='password'/>

<input type="submit" value="Invia"/> </br>



</form>


</div>
</body>
</html>

Codice della pagina php dove uso la varibile session per controllare se c'è corripondenza :

PHP:
<?php



$array=array( array( 'utente'=>'Daniela','password'=>'bleach_785'),
              array('utente'=>'Marco','password'=>'naruto_123'));       

foreach ( $array as $chiave){
if ($_POST['utente']==$array[$chiave]['utente'] && $_POST['password']==$array[$chiave]['password']{
session_start();
$_SESSION['utente']=$_POST['utente'];
$_SESSION['password']=true;
header("Location: esercizio9_1.php"); }
else {
echo 'Errore';
}
}
?>

Codice php per la pagine di benvenuto dell'utene :

PHP:
<?php
session_start();
echo 'Benvenuto $_SESSION['utente']';
?>

Aiutatemi ..sto impazzendo !!!! :confused::confused:
 
ciao
perche ti complichi la vita.
prendi l'abitudine di mettere sempre session_start() alla prima riga

PHP:
<?php
session_start();
//è meglio, anche se può, non dare il nome alle variabili uguale a parole riservate
//se ti dimentichi $ può farti casino
//comunque guarda come è più semplice eventualmente aggiungere
$utente=array('Daniela' =>'bleach_785',
				'Marco' => 'naruto_123',
				'Pinco' => 'pallo_777',
				);
foreach ( $utente as $chiave => $valore){
	if($_POST['utente']== $chiave && $_POST['password']==$valore){
		$_SESSION['utente']=$chiave;
		$_SESSION['password']=$valore;//questa non servirebbe, puoi anche toglierla
		header("Location: esercizio9_1.php"); 
	}else{
		if(isset($_SESSION){session_destroy();}
		echo "errore";
		echo "<a href=\"alla_pag_del_form.php\">ripeti</a>";
	}
}
?>

PHP:
<?php
//questa è la pag esercizio9_1.php
session_start();
if(isset($_SESSION['utente'])){
	echo "buongiorno ".$_SESSION['utente']."<br>";
}else{
	if(isset($_SESSION){session_destroy();}
	header("Location: alla_pag_del_form.php"); 
}
?>
 
Stavo facendo delle modifiche per esercitarmi con questo script e volevo creare una vera procedura di login e logout avendo sempre lo stesso schema di prima .. come posso fare ??? PLEASE HELP ME :crying::crying:
 

Discussioni simili