problema variabile per creare sessione

luigi777

Utente Attivo
14 Feb 2008
1.070
1
38
38
Massa, Italy
Salve, perché non riesco ad far sparire l' undifined index notice ad questo codice:
PHP:
if ($code_pin_setup ==$_SESSION['code'] )	{ 
	redirect("admin.php?action=view_setup",2);
}
else
{
  echo "codice non corretto";
	}
}
$code_pin_setup = 198277;

come mai?

non riesco non so come mai.

grazie mille e buona serata.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
per evitare i notice prima di confrontare una $_SESSION o $_POST devi verificate che sia settata con isset()
PHP:
if (isset($_SESSION['code']) && $code_pin_setup == $_SESSION['code']) {
 

luigi777

Utente Attivo
14 Feb 2008
1.070
1
38
38
Massa, Italy
allora perché non va questo codice?
mi poi aiutarmi?..

admin.php
PHP:
<?php
require_once(dirname(__FILE__) . '/inc.php');  // qui ci sta config.php e session_start() e le sue funzioni
$action = (isset($_GET["action"])) ? trim ($_GET["action"]): '';
if($action =="view_setup")
{
if(isset($_SESSION["code"])) // qui non va
{
$setup = file_get_contents('setup.php');

?>
<form action="admin.php?action=edit" method="POST">
<table align="center">
<tr>
<td align="center">
<textarea rows="20" cols="80"><?php echo $setup; ?></textarea>
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="submit" value="Modifica" />
</td>
</tr>
</table>
</form>
<?php
}else { echo "non hai diritti di accesso";
	redirect("admin.php",2); }
}
if(empty($action)){
if(isset($_POST["submit"]))
{

 if (isset($_SESSION['code']) && $code_pin_setup == $_SESSION['code']) {  // qui non va

	redirect("admin.php?action=view_setup",2);
}
else
{
  echo "codice non corretto";
	}
}
?>
<form action="admin.php" method="POST">
<table align="center">
<tr>
<td align="center">
<input type="password" name="code"  />
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="submit" value="Entra" />
</td>
</tr>
</table>
</form>
<?php

}
?>
ti ringrazio molto.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
non vedo session_start() a inizio pagina
in ogni caso metti var_dump($_SESSION) all'inizio per vedere se contiene i dati che ti aspetti
 

luigi777

Utente Attivo
14 Feb 2008
1.070
1
38
38
Massa, Italy
ciao, lo session_start(), c'è nel config.php come avevo scritto nel codice se hai letto i commenti..

comunque ho provato anche con var_dump, non viene nulla nemmeno l'output di var_dump..

EDIT: viene cosi:
array(0) { }

come posso fare?

grazie mille.
 

luigi777

Utente Attivo
14 Feb 2008
1.070
1
38
38
Massa, Italy
riuscito .. mi stavo sbagliando a recuperare il codice pin..
era cosi:
if ($code_pin_setup == $_POST["code"]) {

e ho messo session["logged"] = true,
per vedere se l'admin ha fatto i login e può entrare nell'setup.php.

ti ringrazio e scusa ma sono un pò confuso.

saluti.