Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    qualcuno ha provato ad installare jmk ads rotator?

    perchè quando entro nella pagina ad_admin.php appare questo messaggio:

    Warning: Cannot modify header information - headers already sent by (output started at /home/adultweb/public_html/ads/ad_config.php:77) in /home/adultweb/public_html/ads/ad_admin.php on line 176

    Ogni volta che entro in amministrazione e clicco su una qualsiasi delle opzioni, lo script esce e ritorna alla pagina di login.

    La linea 176 (e quelle vicine) trattano il tema delle coockies:

    // First, check for login info
    $admintest = 0;

    if(isset($pwd) && ($action == "login") && ($pwd == $admin_password)) {
    $admintest = 1;
    $cookie_value = base64_encode("jmkads:$pwd");
    setcookie("jmkads",$cookie_value, time()+86400); // 86400 secs is 24 hours
    }
    else if(isset($jmkads)) {
    $cookie_value = base64_decode($jmkads);
    $cookie_value = explode(":", $cookie_value);
    if(($cookie_value[0] == "jmkads") && ($cookie_value[1] == $admin_password))
    $admintest = 1;
    }

    if(!$admintest) {
    Login_Page();
    exit;
    }



    il mio browser accetta tutte le coockies, però questo script non sembra funzionare. Qualcuno ne sa qualcosa?

    Grazie a ciao

  2. #2
    prova a mettere un ob_start(); all'inizio della pagina. Non è l'ideale ma forse funziona!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    sembra funzionare, grazie mille

    cmq questo è ciò che mi da più fastidio dei linguaggi di programmazione, diventi matto per trovare l'errore e poi lo risolvi tutto con una semplice funzione...

  4. #4
    Come diceva l'errore, tu stai cercando di inviare degli header http DOPO aver inviato l'output e questo non è possibile. Ogni funzione che modifica gli header http deve essere usata PRIMA di mandare una qualsiasi cosa in output al browser. Questo implica che le operazioni sui cookies, oppure il redirect (che se ci fai caso viene effettuato con la funzione header() vanno fatte prima d effettuare output. Anke un semplice spazio, prima del tag <?php ad inizio pagina è considerato output quindi non serve scrivere qualcosa con php o usare tag html.
    Con la funzione ob_start(); che sta x output buffer start, l'intera pagina viene salvata in un buffer di memoria e viene inviata al browser DOPO che le operazioni sugli header siano state ultimate, facendo in modo che il server nn invii nulla mentre gli header sono elaborati.
    Ti dico questo x farti capire una funzione che altrimenti useresti senza comprenderne il significato!
    Ciauz!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  5. #5
    grazie mille ancora per l'aiuto , peccato cmq che lo script continui a no funzionare, anche se per altri motivi

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.