Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di sb0k
    Registrato dal
    Apr 2010
    Messaggi
    6

    errore nel controllo della sessione

    buongiorno a tutti,
    dopo ore di ricerca su google di una possibile soluzione, non mi resta che rendervi partecipi del mio problema; sto creando un piccolo script per la pubblicazione delle news con tanto di autenticazione,
    mi ritrovo però alcuni errori che non riesco a risolvere.
    ho caricato con require_once lo script per controllare se è attiva o meno la sessione (check.php), il risultato è che alcune pagine es. la pagina remove.php, che serve ad eliminare la news dal db, eseguono lo script però mi rimandano alla pagina di login cancellando la sessione; tutto questo chiaramente a login effettuato e sessione creata.
    vi incollo le varie pagine dello script.

    index.php

    Codice PHP:
    <?php
    session_start
    (); 
    if(!isset(
    $_SESSION['user'])){

        
    header("Location: login.php"); 
    } else {
        
    // the user is logged in
        // the page will go in here, e.g.
        
    echo "<html><head><title>Benvenuto!</title></head>";
        echo 
    "<body>";
        include 
    "article.php";
        echo 
    "</body></html>";
    }
    ?>
    n.b. article.php è una pagina dove vengono visualizzate le news e vi sono 3 link, il primo alla pagina add.php uno per logout.php e un altro a remove.php (per rimuovere le news)

    login.php

    Codice PHP:
    <?php
            
    if(!isset($_SESSION['user'])){
    ?>
    <form method='POST' action='checkpass.php'>
    Username: 
    <input type='text' name='username' maxLength='8' length='16'>

    Password: 
    <input type='password' name='password' length='16'>

    <input type='submit' value='Login'>
    </form>
    <?php
            
    } else {
                    
    header("Location: index.php");
            }
    ?>
    checkpass.php

    Codice PHP:
    <?php
            session_start
    ();
            include 
    "config/msql.php";
            
    $_POST['username'] = addslashes($_POST['username']); 
            
    $_POST['password'] = addslashes($_POST['password']); 
            
            if ((
    $_POST['username'] == '') || ($_POST['password'] == '')){
                echo 
    "<font color=red>[b]Inserisci nome utente e password.[/b]</font>";
                include 
    "login.php";
                exit;
            }
            
    $password md5($_POST['password']); // encrypt the password
            
    $userrow mysql_query("SELECT * FROM `userdb` "
    "WHERE `username` = '" $_POST['username'] . "'"
    " AND `password` = '" $password "';",$mysql);
            if(
    mysql_num_rows($userrow) != "1"){
                    echo 
    "<font color='red'>[b]Wrong username or password![/b]</font>";
                    include 
    "login.php";
            } else {
                    
    $_SESSION['user'] = $_POST['username'];
                    
    header("Location: index.php");
            }
    ?>
    msql.php

    Codice PHP:
    <?php

            $mysql 
    mysql_connect("xxx","xxx","xxx") or die                      ('Error connecting to mysql');
            
    mysql_select_db("xxx",$mysql);
            
    ?>
    remove.php

    Codice PHP:
    <?php
        
    require_once ("config/check.php");

       include 
    'config/config.php';
       include 
    'config/opendb.php';
       
       
    $query "DELETE FROM news WHERE id=".$_GET['id'];
        
        
    mysql_query($query) or die('Error ,query failed');

        include 
    'config/closedb.php';
        
        
    header ("Location:article.php");
        echo 
    "Rimossa!";
    ?>
    check.php

    Codice PHP:
    <?php
    if(!isset($_SESSION['user'])){
    header("Location: login.php");
    }
    ?>
    logout.php

    Codice PHP:
    <?php
            session_start
    ();
            
    session_destroy(); 
            
    session_start();
            
    header("Location: index.php");
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    ciao,
    login.php e remove.php non hanno session_start(); per cui la sessione è come se non esistesse (e di conseguenza avviene il logout)...

  3. #3
    Utente di HTML.it L'avatar di sb0k
    Registrato dal
    Apr 2010
    Messaggi
    6
    ciao freeman, vero hai ragione..mi son perso in pochissimo!
    grazie tante per l'aiuto!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    figurati, quasi tutti gli errori sono dovuti a distrazione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.