Grazie infinite borgo! Sei sempre sul pezzo come si dice. :ilpirata::ilpirata: faccio i controlli e ti so dire.
if(isset($_GET['azione']) && ($_GET['azione'] == 'login')){
if(!isset($_POST['invia'])){
var_dump($_POST['invia']);
Notice: Undefined index: invia
Si, ma in questo caso tu hai messo !isset quindi entrerà nella condizione se il risultato è falso, cioè se non è settatail var_dump messo qua
Mi da questo errorePHP:if(isset($_GET['azione']) && ($_GET['azione'] == 'login')){ if(!isset($_POST['invia'])){ var_dump($_POST['invia']);
HTML:Notice: Undefined index: invia
che però non capisco come risolvere visto che ho messo la voce isset() come dice il manuale.
<a href="login3.php?azione=login">loggati</a><br>
<a href="login3.php?azione=logout">esci</a>
<?php
if(isset($_GET['azione']) && ($_GET['azione'] == 'login')){
if(!isset($_POST['invia'])){
?>
<form action="login3.php" method="post">
<input name="password" type="text"><br>
<input type="submit" name="invia" value="invia">
</form>
<?php
}else{
echo $_POST['password']."<br>";
}
}else{
echo "ho perso il get";
}
?>
<form action="login3.php" method="post">
<form action="login3.php?azione=login" method="post">
Esattamente. In pratica la controlli solo quando non esiste (o non è settata, come dir si voglia) e infatti ti dice che è Undefined.
Ho letto tutto il thread ma non ho capito quale è il tuo problema cioè cosa non fa di quello che tu vorresti che facesse. Questo molto probabilmente è stato il motivo per cui non ricevevi risposte pur avendo ricevuto le visite che hai già constatato.
Se è solo la sessione che non si setta allora prova a fare più e più var_dump() per capire che combina con i tuoi dati.
ciao
penso di aver trovato l'inghippo (immagino che tu arrivi alla login3 in questa maniera)
fatti queste due paginette e provale
questa chiamala come vuoi
e questa chiamala login3.php come l'hai chiamata tuPHP:<a href="login3.php?azione=login">loggati</a><br> <a href="login3.php?azione=logout">esci</a>
provando (scrivi in password e dai l'invia) vedi il perchè il tutto non funziaPHP:<?php if(isset($_GET['azione']) && ($_GET['azione'] == 'login')){ if(!isset($_POST['invia'])){ ?> <form action="login3.php" method="post"> <input name="password" type="text"><br> <input type="submit" name="invia" value="invia"> </form> <?php }else{ echo $_POST['password']."<br>"; } }else{ echo "ho perso il get"; } ?>
correggi
inHTML:<form action="login3.php" method="post">
e prova di nuovoHTML:<form action="login3.php?azione=login" method="post">
<form id="jform" action="login3.php" method="post">
<form id="jform" action="login3.php?azione=login" method="post">
<?php if (isset($_SESSION['utente'])){
echo "<li><font color=\"white\">Ciao, </font> ".$_SESSION['utente']."<a href='login3.php?azione=logout'>Esci</a></li>";
} else {
echo "<font color=\"white\">Ciao utente,</font> <a href='login3.php?azione=login'>Entra</a> <font color=\"white\"> o </font><a href='TEST FORM REAL TIME.php'>Registrati</a>";
} ?>
Se hai sistemato tutto il codice di autenticazione forse ti sei scordato del session_start() nelle altre pagine? Il codice di borgo funziona correttamente, quindi il problema forse è differente?Mi sono creato le due paginette consigliate da te. Con la prima zoluzione mi da errore mentre con la seconda tutto è ok. Il problema però mi rimane, ho provato a sostituire questocon questoPHP:<form id="jform" action="login3.php" method="post">
ma il risultato è lo stesso. Non succede nulla.PHP:<form id="jform" action="login3.php?azione=login" method="post">
quanto al link delle pagine di login questo è il codicenon so dove sbattere la testa!! :hammer::hammer::hammer::PHP:<?php if (isset($_SESSION['utente'])){ echo "<li><font color=\"white\">Ciao, </font> ".$_SESSION['utente']."<a href='login3.php?azione=logout'>Esci</a></li>"; } else { echo "<font color=\"white\">Ciao utente,</font> <a href='login3.php?azione=login'>Entra</a> <font color=\"white\"> o </font><a href='TEST FORM REAL TIME.php'>Registrati</a>"; } ?>
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--#include virtual="/riservato/_private/logon.inc"-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Login</title>
<link rel="shortcut icon" href="images/logo biblionet tondo.jpg" />
<link href="css/reset.css" type="text/css" rel="stylesheet"/>
<link href="css/Master.css" type="text/css" rel="stylesheet"/>
<link href="css/formrealtime.css" type="text/css" rel="stylesheet"/>
<link href="css/style.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.YIWpasswordStrongTester.js"></script>
</head>
<body>
<div id="contenitore">
<?php
include 'header3.php';
?>
<div id="contenuto_reg" class="clearfix">
<?php
// Azione per il login3.php?azione=login
if(isset($_GET['azione']) && ($_GET['azione'] == 'login')){
if(!isset($_POST['invia'])){
?>
<div id="content">
<form id="jform" action="login3.php?azione=login" method="post">
<fieldset>
<legend>Login</legend>
<p>
<label for="username" class="block">Username</label>
<input type="text" name="username" id="username" value=""/>
</p>
<p>
<label for="password" class="block">Password:</label>
<input type="password" name="password" id="password" />
</p>
<p>
<button type="submit" id="send" name="invia">Entra</button>
</p>
</form>
<?php
} else {
$username = $mysqli->real_escape_string(stripslashes(strtolower($_POST['username']))); //salvo il nickname tutto in minuscolo onde evitare problemi.
$password = $mysqli->real_escape_string(stripslashes($_POST['password']));
if (empty($username)) {
echo "Devi inserire il tuo username";
} elseif (empty($password)) {
echo "Devi inserire la password";
} else {
$password_crypt = md5($password);
$recuperadati = $mysqli->query("SELECT * FROM biblionet_nuova_ok WHERE username = '$username' AND password = '$password_crypt'") or die($mysqli->error);
if ($recuperadati->num_rows == 1){
$sessione = $recuperadati->fetch_array();
$_SESSION['utente'] = $sessione['username'];
echo '<div id="login">
<p><h3>Ciao, '.$username.'</h3></p>
</div>';
echo "Login effettuato con successo!";
header("Refresh: 3; URL= Newindex.php");
} else {
echo '<div id="errore"><p><h3>Probabilmente qualcosa è andato storto, Non abbiamo nessuno registrato con questi dati. Riprova
ad inserire i dati, oppure <a href="TEST%20FORM%20REAL%20TIME.php"> Registrati</a>, è gratis!
Grazie dallo staff Biblionet</h3></p></div>';
echo "<meta http-equiv='Refresh' content='3; URL=Newindex.php'>";
}
}
}
} else {
// Azione del logout
if(isset($_GET['azione']) && ($_GET['azione'] == 'logout')){
$_SESSION=array();
echo "Logout effettuato con successo!";
header("Refresh: 3; URL= Newindex.php");
}
}
?>
</div> <!--chiusura content-->
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" charset="utf-8"></script>
<script type="text/javascript" src="js/validation2.js" charset="utf-8"></script>
</div><!--contenuto-->
</div><!--contenitore-->
<div class="vuoto"></div>
<div id="footer"><p>Copyright - Tutti i diritti sono riservati - E' vietata la riproduzione anche parziale</p></div>
</body>
</html>
<?php
include_once 'config2.php';
?>
<div id="logo"> <img src="Images/logo nuovo biblio2tondo.jpg" width="974" height="200" alt="" /></div>
<div class="menu">
<ul class="primo">
<li class='active'><a href='Newindex.php'><span>Home</span></a>
<ul>
</ul>
</li>
<li class="secondo"><a href='Foto.php'><span>Foto</span></a>
<ul class="secondo">
</ul>
</li>
<li class="terzo"><a href='Iniziative.html'><span>Iniziative</span></a>
<ul class="terzo">
</ul>
</li>
<li><a href="Modding.php"><span>Modding</span></a>
<ul>
</ul>
</li>
<li><a href='TEST FORM REAL TIME.php'><span>Contatti</span></a></li>
<li><?php if (isset($_SESSION['utente'])){
echo "<li><font color=\"white\">Ciao, </font> ".$_SESSION['utente']."<a href='login3.php?azione=logout'>Esci</a></li>";
} else {
echo "<font color=\"white\">Ciao utente,</font> <a href='login3.php?azione=login'>Entra</a> <font color=\"white\"> o </font><a href='TEST FORM REAL TIME.php'>Registrati</a>";
} ?>
</li>
<div class="facebook" >
<a href='http://www.facebook.com/MrChip63' target=_blank><img src="Images/facebook.png" width="30" height="30" alt="Facebook"></a></div>
</ul>
</div>
ciao
mi è venuto un dubbio atroce (atroce perchè se è quello l'errore è una caz..ta, ma ci fa girare in tondo):
verifica ESATTAMENTE che ad ogni { aperta corrisponda una } chiusa.
guardando il tuo script (indentato da cani) mi sembra di non vedere una chiusura
if(isset($_GET['azione']) && ($_GET['azione'] == 'login')){
if(isset($_REQUEST['azione']) && ($_REQUEST['azione'] == 'login')){
<input type="submit" id="send" name="invia" value="Entra" />
<input type="hidden" value="login" name="azione" />
<?php
// Azione per il login3.php?azione=login
if(isset($_GET['azione']) && ($_GET['azione'] == 'login')){
if(!isset($_POST['invia'])){
?>
<div id="content">
<form id="jform" action="controllologin.php" method="post">
<fieldset>
<legend>Login</legend>
<p>
<label for="username" class="block">Username</label>
<input type="text" name="username" id="username" value=""/>
</p>
<p>
<label for="password" class="block">Password:</label>
<input type="password" name="password" id="password" />
</p>
<p>
<input type="submit" name="invia" id="login" value="accedi"/>
<button type="submit" name="invia" id="send">Accedi</button>
</p>
</fieldset>
</form>
<?php
}
// Azione del logout
} elseif(isset($_GET['azione']) && ($_GET['azione'] == 'logout')){
$_SESSION=array();
//session_destroy();
echo "Logout effettuato con successo!";
header("Refresh: 3; URL= Newindex.php");
}
?>
<?php
include_once('config2.php');
if(isset($_POST['invia'])){
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$username = $mysqli->real_escape_string(trim($_POST['username']));
$password = $mysqli->real_escape_string(trim($_POST['password']));
if (empty($username)) {
echo "Devi inserire il tuo username";
} elseif (empty($password)) {
echo "Devi inserire la password";
} else {
$password_crypt = md5($password);
$recuperadati = $mysqli->query("SELECT * FROM utenti WHERE username = '$username' AND password = '$password_crypt'") or die($mysqli->error);
if ($recuperadati->num_rows == 1) {
$sessione = $recuperadati->fetch_array();
$_SESSION['utente'] = $sessione['username'];
echo '<div id="login">
<p><h3>Ciao, '.$username.'</h3></p>
</div>';
echo "Login effettuato con successo!";
header("Refresh: 3; URL= Newindex.php");
} else {
echo '<div id="errore"><p><h3>Probabilmente qualcosa è andato storto, Non abbiamo nessuno registrato con questi dati. Riprova
ad inserire i dati, oppure <a href="TEST%20FORM%20REAL%20TIME.php"> Registrati</a>, è gratis!
Grazie dallo staff Biblionet</h3></p></div>';
echo "<meta http-equiv='Refresh' content='3; URL=Newindex.php'>";
}
}
}
}
?>
#send {
background: #3f5a81;
width: 45%;
border: 5px solid #0F1620;
font: bold 30px Verdana, sans-serif;
color: #fafafa;
text-shadow: 1px 1px 1px #0F1620;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px;
}
#send:hover {
background: #4d76b1;
border: 5px solid #253750;
color: #fff;
}
#send:active {
text-indent: -10px;
}
<!DOCTYPE HTML ">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<style type="text/css">
#send {
background: #3f5a81;
width: 45%;
border: 5px solid #0F1620;
font: bold 30px Verdana, sans-serif;
color: #fafafa;
text-shadow: 1px 1px 1px #0F1620;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px;
}
#send:hover {
background: #4d76b1;
border: 5px solid #253750;
color: #fff;
}
#send:active {
text-indent: -10px;
}
</style>
</head>
<body>
<?php
if(isset($_POST['invia'])){
echo "pinco pallo";
}
?>
<form id="jform" action="#" method="post">
<fieldset>
<legend>Login</legend>
<p>
<label for="username" class="block">Username</label>
<input type="text" name="username" id="username" value=""/>
</p>
<p>
<label for="password" class="block">Password:</label>
<input type="password" name="password" id="password" />
</p>
<p>
<!--<input type="submit" name="invia" id="login" value="accedi"/>-->
<button type="submit" name="invia" id="send">Accedi</button>
</p>
</fieldset>
</form>
</body>
</html>