Autor Zpráva
kokolino
Profil *
čawte
ak sa prihlásim tak ma automaticky nepresmeruje na index.php?=uvod ,ale vyhodí mi túto hlášku :

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\BAKALARKA\index.php:11) in C:\wamp\www\BAKALARKA\prihlasovanie.php on line 31

idex.php
<?php
session_start(); // startujeme session.
?>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title>webgame-typy,triky a taktiky</title>
  <meta name="description" content="Webgame,typy-triky a taktiky">
  <meta http-equiv="Content-Style-Type" content="text/css">
  <link rel="stylesheet" href="styly.css">
</head>
<body>
<div id="hlavicka" style="border:1px solid black;">
<?php	
	if(isset($_SESSION['prihlaseny']) and $_SESSION['prihlaseny']==1)
		{
		echo "<strong>Prihlásený užívateľ</strong>: ".$_SESSION['login'] . " |<a href='index.php?id=funda'> pridaj autobus</a>|<a href='index.php?id=funda'> odstran autobus</a>| <a href='index.php?id=funda'>zmen autobus</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href='index.php?id=odhlas&logout=yes'> Odhlásit se</a>";
		}
	elseif(isset($_SESSION['prihlaseny']) and $_SESSION['prihlaseny']==2)
		{
		echo "<strong>Prihlásený spravca</strong>: ".$_SESSION['meno'] . " |<a href='index.php?id=funda'> 11111</a>|<a href='index.php?id=funda'>2222</a>| <a href='index.php?id=funda'>zmen autobus</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href='index.php?id=odhlas&logout=yes'>Odhlásit se</a>";
		}
	elseif(isset($_SESSION['prihlaseny']) and $_SESSION['prihlaseny']==3)
		{
		echo "<strong>Prihlásený admin</strong>: ".$_SESSION['meno'] . " |<a href='index.php?id=funda'> aaaa</a>|<a href='iindex.php?id=funda'> aaaa</a>| <a href='index.php?id=funda'>aaaa</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href='index.php?id=odhlas&logout=yes'> Odhlásit se</a>";
		}
	else	
		{
		echo "Niesi prihlásený | <a href='index.php?id=prihlas'> prihlasit sa </a> | <a href='index.php?id=reg'> Registracia</a> ";
		}
		
?>
<br>
</div>
<div id="horne_menu" style="border:1px solid black;"><?php include "menu_hore.php"; ?></div>
<div id="obsah" style="border:1px solid black;"><!-- background-color:#111111;-->
<div id="lava_strana" style="border:solid black; border-width:1px 1px 0px 1px"><?php  include "menu.php"; ?></div>
<?php
	switch($_GET["id"])
	{
	case "uvod": include("uvod.php"); break;	
	case "funda": include("funda.php"); break;
	case "reg": include("registracia.php"); break;
	case "prihlas": include("prihlasovanie.php"); break;
	case "odhlas": include("odhlasovanie.php"); break;
	default: include("uvod.php");
	}
	
?>
</div>
<div id="prava_strana_hore" style="border:1px solid black;">
	<div id="vyhladaj" style="border: solid black; border-width:1px 1px 0px 1px">
		<?php  include "vyhladavanie.php"; ?>	
	</div>	
<?php include "akciovy_tovar.php"; ?>
</div>
<div id="prava_strana_dole" style="border:1px solid black;"><?php include "top_knihy.php"; ?></div>

</body>
</html>


a prihlasovanie
<?php

ob_start();
session_start();
//prenos premenych z formulara
$login=$_POST['login'];
$heslo=$_POST['heslo'];

$login= htmlspecialchars($login);
$heslo= htmlspecialchars($heslo);
if ($_POST["odeslano"])
//kontrola vsech vlozenych udajov
{
if(($login!="") and ($heslo!=""))
{
require 'db.php'; //pripojenie db
$name = $_POST['jmeno']; //
$heslo = md5($_POST['heslo']); // zahesujeme heslo
//ak je to uzivatel
if(preg_match('/^[a-zA-Z0-9]{1,8}$/',$login))
{
$query=mysql_query($prihlas="select *from uzivatel where login='".$login."' and heslo='".$heslo."'")or print ("chyba<br>".$prihlas."<br>".mysql_error());
$vysledok=mysql_fetch_array($query);
$vysledok['meno'];
if($vysledok['meno'])
{
$_SESSION['prihlaseny'] = 1;
$_SESSION['login'] = $vysledok['login'];
$_SESSION['id'] = $vysledok['id'];
$_SESSION['pravo'] = $vysledok['pravo'];
$bl="index.php?id=uvod";
header("location: $bl");
}
else
{
echo "Zadali ste zle udaje";
}
}
//ak je to spravca
elseif(preg_match('/^[a-zA-Z0-9]+\.[a-zA-Z0-9]{1,5}$/',$login))
{
$query=mysql_query($prihlas="select *from uzivatel where login='".$login."' and heslo='".$heslo."'")or print ("chyba<br>".$prihlas."<br>".mysql_error());
$vysledok=mysql_fetch_array($query);
$vysledok['meno'];
if($vysledok['meno'])
{
$_SESSION['prihlaseny'] = 2;
$_SESSION['id'] = $vysledok['id'];
$_SESSION['meno'] = $vysledok['meno'];
$_SESSION['login'] = $vysledok['login'];
$_SESSION['pravo'] = $vysledok['pravo'];
$bl="index.php?id=uvod";
header("location: $bl");
}
else
{
echo "Zadali ste zle udaje";
}
}
//ak je to admin
elseif(preg_match ('/^[a-zA-Z0-9._]+@[a-zA-Z0-9]+\.[a-z]{2,3}$/',$login))
{
$query=mysql_query($prihlas="select *from uzivatel where login='".$login."' and heslo='".$heslo."'")or print ("chyba<br>".$prihlas."<br>".mysql_error());
$vysledok=mysql_fetch_array($query);
$vysledok['meno'];
if($vysledok['meno'])
{
$_SESSION['prihlaseny'] = 3;
$_SESSION['id'] = $vysledok['id'];
$_SESSION['meno'] = $vysledok['meno'];
$_SESSION['login'] = $vysledok['login'];
$_SESSION['pravo'] = $vysledok['pravo'];
$bl="index.php?id=uvod";
header("location: $bl"); // přesměrujeme na index
}
else
{
echo "Zadali ste zle udaje";
}
}
else
{echo"nenachadza sa v DB";}

}

//pole na chybove hlasky
$chyba = array();
if ($login=="")
$chyba[1] = "Nezadali ste login";
if ($heslo=="")
$chyba[2] = "Nezadali ste heslo";

}
if (!$odeslano || $chyba)
{
?>
<h3>prihlasovanie</h3>
<center>
<?php
if ($chyba)
{
echo "<h4>nezadali ste spravne udaju prosim zopakujte prihlasenie</h4>";
}
?>
</center>
<form action="index.php?id=prihlas" method="post">
<table id="prihlas">
<tr><td><label for="login">prihlasovacie meno:</label></td><td><input type="text" name="login" id="login" value="<?php echo $login ?>"></td><td>&nbsp;&nbsp;<?php if(!empty($chyba[1])) echo '<strong>'.$chyba[1].'</strong>'; ?></td></tr>
<tr><td><label for="heslo">heslo:</label></td><td><input type="password" name="heslo" id="heslo" value=""></td><td>&nbsp;&nbsp;<?php if(!empty($chyba[2])) echo '<strong>'.$chyba[2].'</stron
Keeehi
Profil
Nejčastější potíže s PHP (FAQ)
kokolino
Profil *
Keeehi:
tam som sa pozeral nemam ziadne echo co by to mohlo sposobit
radvis
Profil
header("Location: index.php?id=uvod"); zkus
panther
Profil
radvis:
zkus
zbytečně, ty dva zápisy jsou shodné.

kokolino:
ziadne echo co by to mohlo sposobit
echo tam sice není, ale výstupu tam je tuna. Nebo ti snad celá HTML hlavička, menu, levý sloupec a pár dalších znaků přijde jako zanedbáníhodných? Mě nikoliv.
Majkl578
Profil
Máš to rozbité.

Zkus prvně extrahovat problémovou část a kód zformátovat tak, aby struktura dávala smysl a dalo se v ní orientovat. Zvýší se ti pak šance, že v něm někdo bude hledat problém.

Není takto formátovaný kód přehlednější?
<?php
ob_start();

session_start();

//prenos premenych z formulara
$login = $_POST['login'];
$heslo = $_POST['heslo'];

$login = htmlspecialchars($login);
$heslo = htmlspecialchars($heslo);

if ($_POST["odeslano"]) {

//kontrola vsech vlozenych udajov
    if (($login != "") and ($heslo != "")) {

        require 'db.php';  //pripojenie db

        $name = $_POST['jmeno']; // 
        $heslo = md5($_POST['heslo']); // zahesujeme heslo

        //ak je to uzivatel
        if (preg_match('/^[a-zA-Z0-9]{1,8}$/', $login)) {

            $query = mysql_query($prihlas = "select *from uzivatel  where login='" . $login . "' and heslo='" . $heslo . "'") or print ("chyba<br>" . $prihlas . "<br>" . mysql_error());

            $vysledok = mysql_fetch_array($query);

            $vysledok['meno'];

            if ($vysledok['meno']) {
                $_SESSION['prihlaseny'] = 1;
                $_SESSION['login'] = $vysledok['login'];
                $_SESSION['id'] = $vysledok['id'];
                $_SESSION['pravo'] = $vysledok['pravo'];
                $bl = "index.php?id=uvod";
                header("location: $bl");
            } else {
                echo "Zadali ste zle udaje";
            }
        }

        //ak je to spravca 
        elseif (preg_match('/^[a-zA-Z0-9]+\.[a-zA-Z0-9]{1,5}$/', $login)) {
            $query = mysql_query($prihlas = "select *from uzivatel  where login='" . $login . "' and heslo='" . $heslo . "'") or print ("chyba<br>" . $prihlas . "<br>" . mysql_error());
            $vysledok = mysql_fetch_array($query);
            $vysledok['meno'];

            if ($vysledok['meno']) {
                $_SESSION['prihlaseny'] = 2;
                $_SESSION['id'] = $vysledok['id'];
                $_SESSION['meno'] = $vysledok['meno'];
                $_SESSION['login'] = $vysledok['login'];
                $_SESSION['pravo'] = $vysledok['pravo'];
                $bl = "index.php?id=uvod";
                header("location: $bl");
            } else {
                echo "Zadali ste zle udaje";
            }
        
        //ak je to admin
        } elseif (preg_match('/^[a-zA-Z0-9._]+@[a-zA-Z0-9]+\.[a-z]{2,3}$/', $login)) {
            $query = mysql_query($prihlas = "select *from uzivatel  where login='" . $login . "' and heslo='" . $heslo . "'") or print ("chyba<br>" . $prihlas . "<br>" . mysql_error());
            $vysledok = mysql_fetch_array($query);
            $vysledok['meno'];

            if ($vysledok['meno']) {
                $_SESSION['prihlaseny'] = 3;
                $_SESSION['id'] = $vysledok['id'];
                $_SESSION['meno'] = $vysledok['meno'];
                $_SESSION['login'] = $vysledok['login'];
                $_SESSION['pravo'] = $vysledok['pravo'];
                $bl = "index.php?id=uvod";
                header("location: $bl"); // přesměrujeme na index
            } else {
                echo "Zadali ste zle udaje";
            }
        } else {
            echo"nenachadza sa v DB";
        }
    }

    //pole na chybove hlasky
    $chyba = array();
    if ($login == "")
        $chyba[1] = "Nezadali ste login";

    if ($heslo == "")
        $chyba[2] = "Nezadali ste heslo";
}

if (!$odeslano || $chyba) {
?>
    
    <h3>prihlasovanie</h3>    
    
    <center>    
    
<?php
    if ($chyba) {
        echo "<h4>nezadali ste spravne udaju prosim zopakujte prihlasenie</h4>";
    }
?>
    
    </center>    
    
    <form action="index.php?id=prihlas" method="post">    
    
        <table id="prihlas">    
    
            <tr><td><label for="login">prihlasovacie meno:</label></td><td><input type="text" name="login" id="login" value="<?php echo $login ?>"></td><td>&nbsp;&nbsp;<?php if (!empty($chyba[1]))
        echo '<strong>' . $chyba[1] . '</strong>'; ?></td></tr>
    
            <tr><td><label for="heslo">heslo:</label></td><td><input type="password" name="heslo" id="heslo" value=""></td><td>&nbsp;&nbsp;<?php
    if (!empty($chyba[2])) echo '<strong>'.$chyba[2].'</stron
    


radvis:
Místo plácání blbostí doporučuji pokračovat se základy PHP.
kokolino
Profil *
panther:
mam pocit ,ze tym to nie je
stiahol som si celu stranku od pecana Odkaz

index.php tam je nasledovne
<?php
session_start(); // startujeme session. Všimněte si, že tento kód je úplně nahoře před jakýmkolik výstupem.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta http-equiv="Content-Language" content="cs" />
	<link rel='stylesheet' type='text/css' href='styl.css' />
	<title>peCan.cz - Web Registration Tutorial</title>
</head>
<body>
<div id="okraj">
		<div id="vrch">
			<a href='http://pecan.cz/index.php?id=35&n=registrace-zpracovani-dat-z-formulare'>peCan.cz - Web Registration Tutorial in PHP</a>
		</div>
		<div id="horni_menu
		<?php
			/*
			* Vypiseme zda je uzivatel prihlasen, pokud ano tak jeho jmeno...
			* V přihlašovacím skriptu jsme nastavili $_SESSION['prihlasen']=1, pokud se $_SESSION['prihlasen'] opravdu rovná jedničce, uživatel je přihlášen.
			*/
				if(isset($_SESSION['prihlasen']) and $_SESSION['prihlasen']==1){
					echo "<strong>Přihlášený uživatel</strong>: ".$_SESSION['login'] . " | <a href='logout.php?logout=yes'> Odhlásit se</a>";
				}else{
					echo "Nejsi přihlášen | <a href='index.php?page=registrace'> Registrace</a> | <a href='index.php?page=login'> Login</a>";
				}
			?>
		</div>
				<div id="menu">
					<?php 
						require "menu.php"; // načteme menu.php
					?>
				</div>
				<div id="obsah">
					<?php
					/*
					* Tento kousek vzdy includuje do "stredu" stranky volany soubor pres URL
					* Priklad volani: index.php?page=registrace
					* do stredu se nacte soubor registrace.php
					*/
					 if (isset($_GET['page'])){        // pokud byl odeslán ?page= ...
					    $soubor=$_GET['page'];
					    $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/".$soubor.".php";
					    if(file_exists($soubor2)){      //pokud soubor existuje, načteme ho do středu
					       if(substr_count($soubor,"../")>0){ // pokud je v parametru alespoň 1x ../ neumožíme soubor načíst
					           echo "<h3>Upozornění</h3>Nelze nahrát soubor v nadřazeném adresáři!";
					       }elseif($soubor=="index" or $soubor=="/index"){ // index načíst nepovolíme, vznikl by nekonečný cyklus
					           echo "<h3>Upozornění</h3>Index nemůže načíst sám sebe!";
					       }else{
					           include $soubor2;
					       }
					    }else{                //pokud soubor neexistuje, zavoláme error404.php
					       include "inc/error404.php";
					    }
					  }else{                  // Pokud nebyl paramentr page volaný, načteme uvod.php
					    include "uvod.php";
					  }
					/*
					* Tento kousek kódu nám v případě nějakého erroru vypíše Alert.
					* Jednotlivé hlášky jsou v souboru inc/error_msg.php
					* Je tam pole hlášek, vždy voláme číslo hlášky v poli
					* Příklad: index.php?page=uvod&Alert=0
					*/
					if(isset($_GET['Alert'])){
						require "inc/error_msg.php"; // V tomto souboru jsou ty hlasky
						$JsAlert=$_GET['Alert'];
						echo '<script language="javascript" type="text/javascript">alert("'.$Rvi[$JsAlert].'");</script>';
					}	
					?>
				</div>
		<div class="reset"></div>			
</div>
</body>
</html>


login_spracuj.php nasledovne
<?php 
ob_start();
/*
* Tetno soubor zjisti zda se takovy uzivatel s takovym heslem v databazi nachazi. 
* Pokud ano, do sessions o tom ulozime informaci.
* Jinak se samozrejme presmerujeme zpet a dame uzivateli vedet, ze zadal spatne udaje
*/
session_start(); // Budeme pracovat se session, musíme je nastartovat.
if(isset($_POST['jmeno'])){
	require 'db.php';
	    $name = $_POST['jmeno'];
	    $pass = md5($_POST['heslo']);
		$query = MySQL_Query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$name' and `heslo` = '$pass'") or die (mysql_error());
		// Vybereme uživatele se zadaným jménem a heslem
			$Vysledek = mysql_fetch_array($query);
				$Vysledek['jmeno']; 
				if($Vysledek['jmeno']){ // pokud tato proměnná obsahuje data, bylo zadané správné jméno a heslo
					// Do sessions si uložíme pár informací o přihlášeném
					$_SESSION['prihlasen'] = 1;
					$_SESSION['login'] = $Vysledek['jmeno'];
					$_SESSION['UserId'] = $Vysledek['id'];
					$_SESSION['UserWeb'] = $Vysledek['web'];
					$_SESSION['UserMail'] = $Vysledek['mail'];
					$_SESSION['Prava'] = $Vysledek['prava'];
					$bl="index.php"; 
					header("location: $bl"); // přesměrujeme na index
				}else{
					$bl="index.php?Alert=6";
					header("location: $bl"); // špatně zadané údaje
					// echo "Zadal jsi špatné údaje";
				}
		mysql_free_result($query);
}else{
	echo "Zde nic není;-)";
}
ob_end_flush();
?>

tiez tam includuje menu ako ja cize vystup tam ma (ak som ta spravne pochopil)
ak sa prihlasim presmeruje ma to na index.php

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0