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: 14 let
|
0