Visualizzazione dei risultati da 1 a 3 su 3

Discussione: problema con i cookie

  1. #1

    problema con i cookie

    Salve a tutti. Sto realizzando un'applicazione web per la gestione di un negozio online. Ho un problema quando vado a settare i cookie per effettuare il login. vi posto l'errore e il codice:

    ERRORE
    -------

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\elabora_form_login.php:1) in C:\xampp\htdocs\elabora_form_login.php on line 24
    OK

    CODICE
    -------

    <?php

    //inclusione del file per il redirect
    require ("redirect.php");
    //inclusione del file contenente i dati per l'accesso al database
    require("datiDB.php");
    $db = mysql_connect($db_host, $db_user, $db_password);

    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file datiDB.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file datiDB.php");

    //recupero le variabili tramite post
    $username = $_POST['user'];
    $password = $_POST['password'];

    $query = "SELECT * from cliente where username LIKE '$username' and password LIKE '$password' ";
    $risultato = mysql_query($query);

    if(mysql_num_rows($risultato)!=0){

    setcookie ('login',$username,time()+3600); ---->RIGA DOVE MI DA ERRORE
    echo "OK";
    }
    else {
    echo "NON OK";
    }
    ?>

    ho cercato soluzioni su internet e su ogni pagina ho trovato scritto di spostare il codice in php prima del tag HTML. il fatto è che il mio codice php risiede in un file a parte (elabora_form_login.php)

    la sequenza dei file che vengono chiamati è questa:

    login.tpl (template contenente i campi form da riempire)
    controllo_form.js (funzione javascript per il controllo dei dati in ingresso)
    elabora_form_login.php (funzione che verifica la presenza dei dati del form sul database e che DOVREBBE settare il cookie)

    vi prego aiutoooooooooooooooo!!!!!

  2. #2
    setcookie é una funzione che utilizza gli header html.

    Questo vuol dire che quando c'é un output (qualsiasi) a video vengono prima inviati gli header.
    Gli header possono essere inviati una volta sola. Dunque se é stato già inviato un output non sarà più possibile impostare il cookie e si produrrà questo errore.

    Dovresti guardare in tutti i file che includi se non vi sia un output ed eventualmente spostare il codice per impostare il cookie.

    Ti segnalo che anche il tag di apertura di php preceduto da un a capo é un output
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    ho risolto grazie mille
    avevo inserito uno spazio prima del tag php.....grazie mille!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.