| Autor | Zpráva | ||
|---|---|---|---|
| kokolino Profil * |
#1 · Zasláno: 15. 9. 2010, 16:26:19
č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> <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> <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> <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 |
||
| Keeehi Profil |
#2 · Zasláno: 15. 9. 2010, 16:28:27
|
||
| kokolino Profil * |
#3 · Zasláno: 15. 9. 2010, 16:32:31
Keeehi:
tam som sa pozeral nemam ziadne echo co by to mohlo sposobit |
||
| radvis Profil |
#4 · Zasláno: 15. 9. 2010, 17:49:20
header("Location: index.php?id=uvod"); zkus
|
||
| panther Profil |
#5 · Zasláno: 15. 9. 2010, 17:58:29
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 |
#6 · Zasláno: 15. 9. 2010, 23:51:18
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> <?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> <?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 * |
#7 · Zasláno: 16. 9. 2010, 14:01:58
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 |
||
|
Časová prodleva: 15 let
|
|||
0