Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Sono disperato-Warning: Cannot modify header information - headers already sent by

    Ehi guys sono in possesso di uno script realizzato completamente in PHP.
    Gli errori sono 3:
    Il primo e quando cerco di collegarmi al sito e dice questo:
    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sys\config\db.inc.php:1) in C:\xampp\htdocs\html\page.login.inc.php on line 94
    Lo script della pagina
    page.login.inc.php è:
    <?php


    if (isset($i_am))
    {
    if ($i_am->GetFriendsCount() > 0)
    {
    header("Location: /account/feed");
    }
    else
    {
    header("Location: /");
    }
    }


    $page_id = "login";


    $oVkontakte = new vkontakte($dbo);
    $oFacebook = new facebook($dbo);




    if(isset($_GET['action']))
    {
    switch($_GET['action'])
    {
    case 'login':
    {
    $oVkontakte->logIn();
    break;
    }


    case 'facebook':
    {
    $oFacebook->logIn();
    break;
    }


    default:
    header("Location: /login");
    break;
    }
    }


    if (isset($app->login))
    {
    $login = $app->login;
    $passw = $app->passw;
    }
    else
    {
    $login = '';
    $passw = '';
    }


    $error = false;


    if (!empty($_POST))
    {
    $error = true;


    $login = (isset($_POST['user_login'])) ? $_POST['user_login'] : '';
    $passw = (isset($_POST['user_passw'])) ? $_POST['user_passw'] : '';
    $save_passw = (isset($_POST['remember_me'])) ? $_POST['remember_me'] : '';
    $token = (isset($_POST['token'])) ? $_POST['token'] : '';
    $referer = (isset($_POST['referer'])) ? $_POST['referer'] : '';


    $passw = htmlspecialchars($passw);
    $login = htmlspecialchars($login);


    if (isset($_SESSION['token']))
    {
    if ($token === $_SESSION['token'])
    {
    if ($app->CheckUser($login,$passw))
    {
    if ($save_passw === "on")
    {
    @setcookie('autologin',"1",time()+7*24*3600,"/");
    @setcookie('passw',"$passw",time()+7*24*3600,"/");
    @setcookie('login',"$login",time()+7*24*3600,"/");
    }
    else
    {
    @setcookie('autologin',"0",time()+7*24*3600);
    }


    unset($_SESSION['token']);


    $app->LoginUser($login, $passw);


    $pos = strpos($referer, APP_URL);


    if ($pos === false)
    {
    header("Location: /");
    }
    else
    {
    header("Location: {$referer}");
    }
    exit;
    }
    }
    }
    }


    GenGlobalToken();


    $css_files = array("style.css");
    $page_title = $TEXT['menu-login']." | ".APP_TITLE;


    include_once("../html/common/header.inc.php");
    ?>


    <body class="noface-theme">


    <?php
    include_once('../html/common/topbar.inc.php');
    ?>


    <div id="page-outer">
    <div class="wrapper-main">
    <div class="left-sidebar">
    <div class="usermenu">
    <?php
    include_once("../html/common/leftbar.inc.php");
    ?>
    </div>
    </div>


    <div class="profile-wrapper noface">
    <div class="page-header"><?php echo $TEXT['menu-login']; ?></div>


    <div class="questions-content">


    <div class="adv-data">

    <span style="margin-top: -10px;" class="warning center">
    <p><?php echo $TEXT['btn-login-withtext']; ?></p>
    <br>
    <div class="share1 fb" style="margin-top: 0px; display: inline-block;">
    <a style="" href="/facebook/?action=login">Facebook</a>
    </div>
    <div class="share1 tw" style="margin-top: 0px; display: inline-block;">
    <a style="" href="/tw_session">Twitter</a>
    </div>
    <div class="share1 vk" style="margin-top: 0px; display: inline-block;">
    <a style="" href="/vkontakte/?action=login">VK</a>
    </div>
    <div class="share1 gl" style="margin-top: 0px; display: inline-block;">
    <a style="" href="/gl_session">Google+</a>
    </div>
    </span>
    </div>


    <?php
    if ($error)
    {
    ?>
    <div class="adv-data">
    <a id="adv-remove" class="delete" href="javascript:;"></a>
    <span class="error center"><?php echo $TEXT['error-login']; ?></span>
    </div>
    <?php
    }
    ?>


    <div class="content-main">

    <form id="loginform1" class="form-horizontal login_form" method="POST" action="/login" autocomplete="off">
    <input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
    <?php
    if (isset($_SERVER['HTTP_REFERER']))
    {
    ?>
    <input type="hidden" name="referer" value="<?php echo $_SERVER['HTTP_REFERER']; ?>">
    <?php
    }
    ?>


    <fieldset id="userlogin_fieldset" class="control-group">
    <label for="user_login" class="control-label"><?php echo $TEXT['username'] ?>:</label>
    <div class="controls">
    <input id="user_login" tabindex="1" maxlength="16" name="user_login" type="text" value="<?php echo $login; ?>">
    </div>
    </fieldset>


    <fieldset id="userpassw_fieldset" class="control-group">
    <label for="user_passw" class="control-label"><?php echo $TEXT['passw']; ?>:</label>
    <div class="controls">
    <input id="user_passw" tabindex="2" maxlength="16" name="user_passw" type="password" value="<?php echo $passw; ?>">
    <p><a class="top-10" href="/remind"><?php echo $TEXT['label-forgot']; ?></a></p>
    </div>
    </fieldset>


    <hr>


    <fieldset id="usercaptcha_fieldset" class="control-group">
    <div class="controls">
    <label for="remember_me2"><input id="remember_me2" tabindex="3" type="checkbox" name="remember_me" class="remember_me"><span style="margin-left: 5px;font-size: 13px;"><?php echo $TEXT['label-remember']; ?></span></label>
    </div>
    </fieldset>


    <div class="form-actions">
    <button id="settings_save" tabindex="4" class="prj-button prj-button-blue" type="submit"><?php echo $TEXT['btn-login']; ?></button>
    </div>


    </form>
    </div>


    </div>


    </div>


    <div class="small-footer">
    <?php
    include_once("../html/common/footer.inc.php");
    ?>
    </div>

    </div>
    </div>


    </body>
    </html>

    Gli altri errori ve gli metto come "risposta" perchè ho superato il massimo di scrittura

  2. #2
    Il secondo errore è quando cerco di sloggare dal sito: Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sys\config\db.inc.php:1) in C:\xampp\htdocs\html\page.logout.inc.php on line 6
    Lo script di questa pagina
    page.logout.inc.php on line 6 è:
    <?php
    $app->LogoutUser();
    @setcookie("autologin","0");
    header('Location: ');
    exit;
    ?>

  3. #3
    Il terzo errore è quando cerco di cambiare lingua:
    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sys\config\db.inc.php:1) in C:\xampp\htdocs\sys\class\class.addon.inc.php on line 133

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sys\config\db.inc.php:1) in C:\xampp\htdocs\sys\class\class.addon.inc.php on line 140

    Il codice della pagina class.addon.inc.php è :

    <?php
    class addon extends db_connect {


    public function __construct($dbo=NULL)
    {
    parent::__construct($dbo);
    }


    /**
    * Получить текущий рейтинг пользователя
    *
    * @param int $user_id ID пользователя
    * @return int Текущий рейтинг пользователя
    */


    public function GetRating($user_id)
    {
    $stmt = $this->db->prepare("SELECT rating FROM users WHERE id=(:id)");
    $stmt->bindParam(":id", $user_id, PDO::PARAM_INT);
    $stmt->execute();


    $row = $stmt->fetch();


    return $row['rating'];
    }


    /**
    * Установить новый рейтинг пользователя
    *
    * @param int $user_id ID пользователя, которому нужно установить рейтинг
    * @param int $rating Рейтинг пользователя
    */


    public function SetRating($user_id, $rating)
    {
    $stmt = $this->db->prepare("UPDATE users SET rating=(:rating) WHERE id=(:id)");
    $stmt->bindParam(":id", $user_id, PDO::PARAM_INT);
    $stmt->bindParam(":rating", $rating, PDO::PARAM_INT);
    $stmt->execute();
    }


    /**
    * Получить текущий баланс пользователя
    *
    * @param int $user_id ID пользователя
    * @return int Текущий баланс пользователя
    */


    public function GetBalance($user_id)
    {
    $stmt = $this->db->prepare("SELECT balance FROM users WHERE id=(:id)");
    $stmt->bindParam(":id", $user_id, PDO::PARAM_INT);
    $stmt->execute();


    $row = $stmt->fetch();


    return $row['balance'];
    }


    /**
    * Изменить баланс пользователя
    *
    * @param int $user_id ID пользователя
    * @param int $new_balance новый баланс пользователя
    */


    public function SetBalance($user_id, $new_balance)
    {
    $stmt = $this->db->prepare("UPDATE users SET balance=(:balance) WHERE id=(:id)");
    $stmt->bindParam(":balance", $new_balance, PDO::PARAM_INT);
    $stmt->bindParam(":id", $user_id, PDO::PARAM_INT);
    $stmt->execute();
    }


    /**
    * Получить ID пользователя
    *
    * @param string $user_login логин пользователя
    * @return int ID пользователя
    */


    public function GetUserId($user_login)
    {
    $stmt = $this->db->prepare("SELECT id FROM users WHERE login=(:login) LIMIT 1");
    $stmt->bindParam(":login", $user_login, PDO::PARAM_STR);
    $stmt->execute();


    if ($stmt->rowCount() > 0)
    {
    $row = $stmt->fetch();
    return $row['id'];
    }
    else
    {
    return 0;
    }
    }


    public function GetAnswersCount($user_id)
    {
    $data = array("id" => $user_id);


    $stmt = $this->db->prepare("SELECT answers_count FROM users WHERE id=(:id)");
    $stmt->execute($data);


    $row = $stmt->fetch();


    return $row['answers_count'];
    }


    public function SetAnswersCount($user_id, $answers_count)
    {
    $data = array("id" => $user_id, "answers_count" => $answers_count);


    $stmt = $this->db->prepare("UPDATE users SET answers_count=(:answers_count) WHERE id=(:id)");
    $stmt->execute($data);
    }


    static function GetCurrentLang()
    {
    if (isset($_COOKIE['lang']))
    {
    return $lang = $_COOKIE['lang'];
    }
    else
    {
    return "ru";
    }
    }


    static function SetCurrentLang($lang)
    {
    setcookie("lang",$lang,time()+14*24*3600,'/');
    }


    static function BackToRefPage()
    {
    if (!empty($_SERVER['HTTP_REFERER']))
    {
    header("Location: ".$_SERVER['HTTP_REFERER']);
    }
    else
    {
    header("Location: /");
    }
    }


    static function timeAgo($time)
    {
    if (isset($_COOKIE["lang"]))
    {
    $lang = $_COOKIE["lang"];


    switch($lang)
    {
    case "en":
    {
    $titles = array("minute","minutes","minutes");
    $titles2 = array("hour","hours","hours");
    $titles3 = array("day","days","days");
    $titles4 = array("month","months","months");
    $about = " ago";
    $now = "less than a minute ago";
    break;
    }

    case "de":
    {
    $titles = array("minute","Minuten","Minuten");
    $titles2 = array("stunde","stunden","stunden");
    $titles3 = array("tag","tage","tage");
    $titles4 = array("month","months","months");
    $about = " vor";
    $now = "weniger als eine minute her";
    break;
    }

    case "fr":
    {
    $titles = array("heure","heures","heures");
    $titles2 = array("jour","jours","jours");
    $titles3 = array("mois","mois","mois");
    $titles4 = array("month","months","months");
    $about = $sujet = " il ya";
    $now = "moins d'une minute ago";
    break;
    }

    case "sp":
    {
    $titles = array("minuto","minutos","minutos");
    $titles2 = array("las horas","horas","las horas");
    $titles3 = array("el día","días","días");
    $titles4 = array("mes","meses","meses");
    $about = " hace";
    $now = "menos de un minuto atrás";
    break;
    }


    case "ua":
    {
    $titles = array("хвилину","хвилини","хвилин");
    $titles2 = array("година","години","годин");
    $titles3 = array("день","дні","днів");
    $titles4 = array("місяць","місяці","місяців");
    $about = " тому";
    $now = "Тільки що";
    break;
    }


    case "ru":
    {
    $titles = array("минуту","минуты","минут");
    $titles2 = array("час","часа","часов");
    $titles3 = array("день","дня","дней");
    $titles4 = array("месяц","месяца","місяців");
    $about = " назад";
    $now = "Только что";
    break;
    }


    }
    }
    else
    {
    $titles = array("minute","minutes","minutes");
    $titles2 = array("hour","hours","hours");
    $titles3 = array("day","days","days");
    $titles4 = array("month","months","months");
    $about = " ago";
    $now = "less than a minute ago";
    }


    $new_time = time();
    $time = $new_time - $time;
    if($time < 60) return $now; else
    if($time < 3600) return addon::declOfNum(($time-($time%60))/60, $titles).$about; else
    if($time < 86400) return addon::declOfNum(($time-($time%3600))/3600, $titles2).$about; else
    if($time < 2073600) return addon::declOfNum(($time - ($time % 86400)) / 86400, $titles3).$about; else
    if($time < 62208000) return addon::declOfNum(($time - ($time % 2073600)) / 2073600, $titles4).$about;
    }


    static function votesCount($votes)
    {
    if (isset($_COOKIE["lang"]))
    {
    $lang = $_COOKIE["lang"];


    switch($lang)
    {
    case "en":
    {
    $titles = array("point","points","points");
    break;
    }

    case "de":
    {
    $titles = array("punkt","punkte","punkte");
    break;
    }

    case "fr":
    {
    $titles = array("point","points","points");
    break;
    }

    case "sp":
    {
    $titles = array("punto","puntos","puntos");
    break;
    }


    case "ua":
    {
    $titles = array("голос","голоса","голосів");
    break;
    }


    case "ru":
    {
    $titles = array("голос","голоса","голосов");
    break;
    }


    }
    }
    else
    {
    $titles = array("vote","votes","votes");
    }


    return addon::declOfNum($votes, $titles);
    }


    static function declOfNum($number, $titles)
    {
    $cases = array(2, 0, 1, 1, 1, 2);
    return $number.' '.$titles[ ($number%100>4 && $number%100<20) ? 2 : $cases[($number%10<5) ? $number%10:5] ];
    }


    static function getUrl($text)
    {
    $matches = array();
    //preg_match('/<iframe.*src=\"(.*)\".*><\/iframe>/isU', $text, $matches);

    echo $text."<br><br>";
    }


    static function makeIframe($text)
    {
    $original = '<iframe title="sdf" src="http://vk.com/video_ext.php?oid=69637722&id=149983189&hash=6fdb3 b9d0af339a7&sd" width="300" height="170" frameborder="0"></iframe>'; // There was his mistake
    //print "$original\n";
    //print setHeightWidthSrc($original, 100, 100);


    $matches = array();
    preg_match('/<iframe.*src=\"(.*)\".*><\/iframe>/isU', $original, $matches);
    //echo ($matches[0]); //only the <iframe ...></iframe> part
    //echo ("<br><BR>".$matches[1]); //the src part. (http://www.youtube.com/embed/IIYeKGNNNf4?rel=0)
    return "<iframe src=\"{$matches[1]}\" width=\"300\" height=\"170\" frameborder=\"0\"></iframe>";
    }


    static function makeClickableLinks($text)
    {


    $text = @eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
    '<a rel="nofollow" target="_blank" href="/go/?url=\\1">\\1</a>', $text);
    $text = @eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
    '\\1<a rel="nofollow" target="_blank" href="/go?url=http://\\2">\\2</a>', $text);

    return $text;
    }
    }


    ?>

  4. #4
    Ragazzi aiutatemi per favore,non ne capisco tanto di PHP,se gentilmente mi potreste risolvere il problema e riscrivermi il codice...!Oppure se mi potete aiutare tramite skype...Grazie a tutti

  5. #5
    Da qualche parte nelle pagine coinvolte generi un output prima dell'istruzione header() ma così è impossibile capire dove. Verifica che nella sequenza di pagine non vi sia dell'html oppure anche solamente uno spazio o invio prima delle istruzioni php (che iniziano e finiscono conl'apposito tag <?php ?>)
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    ok controllo,senò uppo le 3 pagine su MEGA

  7. #7
    La pagina del login è questa: https://mega.co.nz/#!OUhTVQhD!_Kwh9wsFQTXYBKgSmAUyCjHee7qkhlHu6gnPfdIVYs4
    La pagina per sloggare è questa:
    https://mega.co.nz/#!3Qp3nYTT!PW6QELMMyuyEIuqzi_LEnCKRq6S6zdGLL1KU5FlkGV4
    La pagina per cambiare lingua è questa:
    https://mega.co.nz/#!jdpXzLxC!qSLTtpYIs25JdcmBssi1YPCzsDR4bmj7ss82UV0sSNc

  8. #8
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Come ha detto satifal controlla se non ci siano stampe e/o caratteri al di fuori dei tag php (compresi spazi/ritorni a capo) prima di header (compresi file inclusi). Da quello che vedo dovrebbe essere il file config\db.inc.php alla riga 1

  9. #9
    Continuo a non capire ragazzi,dovrei trovare uno spazio o un a capo prima dell'header?

  10. #10
    Nel file db.inc.php dopo " <?php " c'è un a capo con uno spazio cosi :

    <?php

    $C = array();
    $B = array();

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.