NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Jan Štrobl
Člen
Avatar
Jan Štrobl:11.7.2017 7:44

Zdravím, nečekaně mám opět problém. Mám jeden rádoby "redakční systém" na editaci stránek. Když se chci přihlásit hodí mi to tuto hlášku "Warning: Cannot modify header information - headers already sent by (output started at /data/web/vir­tuals/162542/vir­tual/www/admi­nistration/lo­gin.php:5) in /data/web/vir­tuals/162542/vir­tual/www/admi­nistration/lo­gin.php on line 11" Mám ho už u několika stránek na endoře a nyní potřebuji jeden připnout u Wedosu. A chybu to hází pouze zde. Kód jsem protáhnul i v https://phpcodechecker.com/ (nevím jak moc přesné to je) a zde to žádnou chybu nenašlo.

Kód

<?php
session_start();
require('Db.php');
Db::connect('wm67.wedos.net', 'd162542_user', 'a162542_user', '9tBwWw93');
?>
<? include ('head.php');?>
<?
if (isset($_SESSION['ID']))
{
        header('Location: login.php');
        exit();
}
if ($_POST)
{
        $uzivatel = Db::queryOne('
                SELECT ID, acces
                FROM users
                WHERE nickname=? AND password=SHA1(?)
        ', $_POST['nickname'], $_POST['password'] . "t&#ssdf54gh");
        if (!$uzivatel)
                $zprava = 'Neplatné uživatelské jméno nebo heslo';
        else
        {
                $_SESSION['ID'] = $uzivatel['ID'];
                $_SESSION['nickname'] = $_POST['nickname'];
                $_SESSION['acces'] = $uzivatel['acces'];
                header('Location: index.php');
                exit();
        }
}
?>
  <div id="contant">

                           <section>
                           <h2 id="centrovac">Pro editaci stránek se prosím přihlaste.</h2><br />
                             <?php
                                if (isset($zprava))
                                        echo('<p>' . $zprava . '</p>');
                                ?>

                                <form method="post">
                                        Jméno<br />
                                        <input type="text" name="nickname" /><br />
                                        Heslo<br />
                                        <input type="password" name="password" /><br />
                                        <input type="submit" value="Přihlásit" />
                                </form>
                                </section>
<? include ('pata.php');?>

Osobně mám předpoklad že by chyba byla někde v jejich konfiguraci php viz. příloha. Ale byl bych velice šťastný kdyby chyba byla v kódu :D Setkal se někdo už s něčím takovým? Píšu to v PSPadu a BOM značky jsem podle jejich návodu zkontroloval.

Předem díky :-)

 
Odpovědět
11.7.2017 7:44
Avatar
Odpovídá na Jan Štrobl
Michal Žůrek - misaz:11.7.2017 7:48

Nemůžeš přesměrovávat po tom co jsi odeslal hlavičky.

<? include ('head.php');?>
<?
if (isset($_SESSION['ID']))
{
        header('Location: login.php'); // nelze po závolání include ('head.php')

Jestli to někde fungovalo, tak to bylo tím, že to nejspíše zpožďovalo odesílání outputu, tedy to byl bug, nikoli feature.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
11.7.2017 7:48
Avatar
Jan Štrobl
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Jan Štrobl:11.7.2017 7:58

Díky, věděl jsem že do toho čumím moc dlouho než abych si toho všiml..... okay to je výmluva, jsem neschopný :D Díky :-)

 
Nahoru Odpovědět
11.7.2017 7:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.