Ciao a tutti. Devo fare una pagina di login con le sessioni. Nella testata, uguale per tutte le pagine, deve risultare il nome utente e il saldo se ho fatto il login oppure nome utente anonimo e saldo 0. Nella pagina login ho un form che invia i dati ad una pagina controllo (che effettua connessione al db ecc) la quale, se tutto va come deve, rimanda ad una pagina chiamata paga.
Proobabilmente sbaglio qualcosa con le sessioni e al posto di nome utente e password mi da errore. Ecco i codici:
Pagina login.php
Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <Title>Login</Title>
    <meta name="author" content="Sainato Stefano">
    <meta name="keywords" content="Pagamenti">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <link rel="stylesheet" type="text/css" href="style.css">
    <script type="text/javascript">
    function controllo(user, pass){
        if(user==""){
            alert("Non hai inserito il nome utente");
        return false;
        }
        
        else if(pass==""){
            alert("Non ha inserito la password");
        return false;
        }
        else{
            return true;
        }
        }
    </script>
</head>
<body>
<div class="main">
<div class="header">
<?php
require("header.php");
?>
</div>
<div class="menu">
<?php
require("menu.php");
?>
</div>
<div class="content">
<h2>Login</h2>


Inserire il nome utente e la password.</p>
<form name="login" action="controllo.php" method="POST" onsubmit="return controllo(user.value, pass.value);">


<label for="user">Nome utente: </label><input type= "text" id="user" name="user"></p>


<label for="pass">Password: </label><input type="password" id="pass" name="pass"></p>


<input type="submit" value="OK" class="button"><input type="reset" value="PULISCI" class="button"></p>
</form>
</div>
<div class=footer>
<?php
require("footer.php");
?>
</div>
</div>

</body>
</html>
controllo.php
Codice PHP:
<?php
if(!isset($_REQUEST["user"]) || !isset($_REQUEST["pass"])){
echo
"

Devi prima effettuare il [url='login.php']Login[/url]</p>"
;
exit();    
}
if(empty(
$_REQUEST["user"]) || empty($_REQUEST["pass"])){
echo
"

Non hai inserito tutti i dati richiesti. Torna al [url='login.php']Login[/url]</p>"
;
exit();
}
$user=trim($_REQUEST["user"]);
$pass=trim($_REQUEST["pass"]);
$con =mysqli_connect("localhost","uReadOnly","","pagamenti");
if (
mysqli_connect_errno()){
printf ("

errore - collegamento al DB impossibile: %s

\n"
mysqli_connect_error());
exit();    
}
/*Ripulisco da apici le variabili */
$user=mysqli_real_escape_string($con,$user);
$pass=mysqli_real_escape_string($con,$pass);
$query "SELECT nick, saldo FROM usr WHERE nick='$user' AND pwd='$pass'";
$result mysqli_query ($con$query);
if (! 
$result){
    
printf ("

errore – query fallita: %s

\n"
mysqli_error($con));
}
else if (
mysqli_num_rows($result)==0){
    
printf("Nome utente e/o password non corretti");
}
else{
    
session_start();
    
$row mysqli_fetch_assoc($result);
    
$_SESSION['loggedin'] = $row['nick'];
    
$_SESSION['saldo'] = $row['saldo'];
    
header('location: paga.php');
}
?>
Header.php
Codice PHP:
<?php
session_start
();
$loggedin=$_SESSION['loggedin'];
$saldo=$_SESSION['saldo'];
?>
<h1>Pagamenti</h1>

        <p class="header">Utente: <?php echo"$loggedin";?></p>
        <p class="header">Saldo: <?php echo"$saldo";?></p>