PROBLEMA SESSION.PHP

di il
4 risposte

PROBLEMA SESSION.PHP

FILE SESSION.PHP
<?php
include 'inizializza.php';


if (!empty($SESSION["user"])) {
$name = mysqli_real_escape_string($dbr, $_SESSION["user"]);

$sql = "SELECT * FROM usr WHERE nick='$name'";
$result = mysqli_query($dbr, $sql);

if(mysqli_num_rows($result) > 0){

while ($row = mysqli_fetch_assoc($result)) {
$_SESSION["saldo"] = $row["saldo"];

}

}

}else{
$saldo=0;
$_SESSION["saldo"]=$saldo;
}

?>



FILE LOGIN.PHP
<?php include 'session.php'; ?>
<?php ob_start(); ?>
<!doctype html>

<html lang="it">

<head>
...
...
bla
bla
bla
...
</head>



<?php
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$password = mysqli_real_escape_string($dbw, $_POST["password"]);
$name = mysqli_real_escape_string($dbr, $_POST["nick"]);

$sql = "SELECT nick FROM usr WHERE nick='$name' AND pwd='$password'";
$result = mysqli_query($dbr, $sql);
$error="";
if(mysqli_num_rows($result)==1){
$cookie_name = "last_login";
session_start();
$_SESSION["user"] = $name;

setcookie($cookie_name, $name, time() + (86400 * 5), "/");
header("Location: paga.php");
} else {
$error = "Il tuo username o la tua password non sono validi.";
}
}
?>

<body>
...
...
</body>

Buonasera, volevo sapere quando viene eseguito il codice dentro session.php perché non "entra" dentro il secondo if quello dove dovrei riempire la $_SESSION["saldo"]. Grazie.

4 Risposte

  • Re: PROBLEMA SESSION.PHP

    Ciao Atreb_g

    primo if
    
    if (!empty($SESSION["user"])) {
    
    cambia in
    
    if (!empty($_SESSION["user"])) {
    
    ciao
  • Re: PROBLEMA SESSION.PHP

    Grazie, me ne ero già accorto e pensavo di aver risolto ma continua a non funzionare
  • Re: PROBLEMA SESSION.PHP

    Il codice postato presenta tanta ma tanta confusione.
    Diventa difficile essere di aiuto cosi'.

    Prima mi includi il file <?php include 'session.php'; ?> e poi apri la session_start() ?
    se non avvi la session_start() non avrai mai un valore da $_SESSION["user"] e comunque session_start() deve essere dichiarata all'inizio del file prima che venga generato qualsiasi altro tipo di output.

    Secondo me l'errore sta li..attualmente tu prima includi il file session.php che dovrebbe verificare una variabile che senza session_start() non puoi leggere.

    Metti un po' in ordine le idee e di conseguenza sul codice e vedrai che la risposta la troverai da te.
  • Re: PROBLEMA SESSION.PHP

    Se posso aggiungere, va bene utilizzare mysqli_real_escape_string prima passare le variabili nella query ma ti consiglio di imparare ad utilizzare i prepared statement
Devi accedere o registrarti per scrivere nel forum
4 risposte