Autor | Zpráva | ||
---|---|---|---|
Pan X Profil |
#1 · Zasláno: 5. 3. 2009, 19:46:21 · Upravil/a: Pan X
Dobrý večer, potřeboval bych poradit. Mám tento script:
<?php session_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="cs"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="resource-type" content="document"> <title></title> <link rel="stylesheet" type="text/css" href="style_a.css"> <script type="text/javascript" src="js.js"></script> </head> <body> <div id="page"> <?php if(isset($_SESSION['prihlasen']) and $_SESSION['prihlasen']==1){ echo '<div id="uziv_panel"><p>Přihlášen jako: <strong>'.$_SESSION['nick'].'</strong> | <a href="logout.php?logout=yes" title="Odhlásit">Odhlásit se</a></div>'; $spojeni = mysql_connect("server","user","pass") or die ('Spatne zadane udaje (asi heslo, server nebo jmeno.) v db.php'); mysql_select_db("sejkora_info", $spojeni) or die ('Spatne zadana databaze v db.php'); $query = MySQL_Query("SELECT * FROM `gallery` ORDER BY nazev"); echo MySQL_Error(); echo '<menu>'; echo '<li><a href="edit_kategorie.php" title="Uprav kategorie">Uprav kategorie</a></li>'; echo '<li><a href="edit_komentare.php" title="Uprav komentáře">Uprav komentáře</a></li>'; echo '<li><a href="sprava.php" title="Správa webů">Správa webů</a></li>'; echo '</menu>'; echo '<table border="1" cellpadding="0" cellspacing="0"><tr><td><strong>Čekající weby</strong></td><td> </td></tr>'; $Pocet = 0; while($vypis = MySQL_Fetch_Array($query)){ if($vypis['ceka'] == "Ano"){ echo '<tr><td>'.$vypis['nazev'].'</td><td><a href="edit.php?nazev='.$vypis['nazev'].'">Uprav</a> | <a href="delete.php?nazev='.$vypis['nazev'].'">Smaž</a> | <a href="povol.php?nazev='.$vypis['nazev'].'">Povol</a></td></tr>'; } } }else{ header("location: index.php"); } ?> </div> </body> </html> Všechno funguje OK ale když nejsem přihlášen tak mě to nepřesměruje na index.php, ale ani to nevipisuje chybu. Zobrazí se jen bílá stránka. Mohl by mi někdo poradit jak to opravit? Předem díky Pan X |
||
tiso Profil |
#2 · Zasláno: 5. 3. 2009, 19:51:19
|
||
patolog Profil |
#3 · Zasláno: 5. 3. 2009, 19:56:54
ak je to to co napisal tiso tak si pozri tuto temu
|
||
SwimX Profil |
#4 · Zasláno: 5. 3. 2009, 20:02:29
patolog
ob_start() zde není potřeba. stačí strčit HTML do podmínky |
||
patolog Profil |
#5 · Zasláno: 5. 3. 2009, 20:03:59
SwimX
no aj to je riesenie. ale ved ak by tam aj dal ob_start() tak nic nepokazi :) |
||
ato3 Profil |
#6 · Zasláno: 5. 3. 2009, 20:57:55
Pan X
funkce header musí být před jakýmkoli výstupem, tzn dej ji uplně na začátek celé stránky, pak by to mělo fungovat.. |
||
SwimX Profil |
#7 · Zasláno: 5. 3. 2009, 21:18:30
ato3
ale on chce přesměrovat jenom někdy, ne pokaždý. Koukám že se to tu začíná plnit zajímavými názory, tak to raději uvedu na pravou míru: <?php session_start(); if(isset($_SESSION['prihlasen']) and $_SESSION['prihlasen']==1){ ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="cs"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="resource-type" content="document"> <title></title> <link rel="stylesheet" type="text/css" href="style_a.css"> <script type="text/javascript" src="js.js"></script> </head> <body> <div id="page"> <?php echo '<div id="uziv_panel"><p>Přihlášen jako: <strong>'.$_SESSION['nick'].'</strong> | <a href="logout.php?logout=yes" title="Odhlásit">Odhlásit se</a></div>'; $spojeni = mysql_connect("server","user","pass") or die ('Spatne zadane udaje (asi heslo, server nebo jmeno.) v db.php'); mysql_select_db("sejkora_info", $spojeni) or die ('Spatne zadana databaze v db.php'); $query = MySQL_Query("SELECT * FROM `gallery` ORDER BY nazev"); echo MySQL_Error(); echo '<menu>'; echo '<li><a href="edit_kategorie.php" title="Uprav kategorie">Uprav kategorie</a></li>'; echo '<li><a href="edit_komentare.php" title="Uprav komentáře">Uprav komentáře</a></li>'; echo '<li><a href="sprava.php" title="Správa webů">Správa webů</a></li>'; echo '</menu>'; echo '<table border="1" cellpadding="0" cellspacing="0"><tr><td><strong>Čekající weby</strong></td><td> </td></tr>'; $Pocet = 0; while($vypis = MySQL_Fetch_Array($query)){ if($vypis['ceka'] == "Ano"){ echo '<tr><td>'.$vypis['nazev'].'</td><td><a href="edit.php?nazev='.$vypis['nazev'].'">Uprav</a> | <a href="delete.php?nazev='.$vypis['nazev'].'">Smaž</a> | <a href="povol.php?nazev='.$vypis['nazev'].'">Povol</a></td></tr>'; echo " </div> </body>"; } } }else{ header("location: index.php"); } ?> </html> |
||
Johny007 Profil |
#8 · Zasláno: 5. 3. 2009, 22:03:34 · Upravil/a: Johny007
Mě v takovýchto případech pomáhá toto:
1)dát přesměrování co nejvýše ve scriptu - tj. udělat podmínu obráceně když není příhášen tak přesměrovat a exit jinak proveď script 2)nevím moc proč ale používám ten druhý zápis např.: if (!$spojeni): Header("Location: ./index.php?chyba=".URLEncode("Nepodařilo se spojit s databází")); exit; |
||
SwimX Profil |
#9 · Zasláno: 5. 3. 2009, 22:05:10
Johny007
s 1) souhlasím, i když tady to není nezbytné. k 2) to je uplně jedno, každému co mu vyhovuje. Mě se tvůj zápis ale v PsPadu nezvýrazní, takže raději {} |
||
Johny007 Profil |
#10 · Zasláno: 5. 3. 2009, 22:18:02
JJ taky normálně používám {}, ale ve spojení s
Header("Location:..... |
||
Pan X Profil |
#11 · Zasláno: 6. 3. 2009, 21:15:09
jo díky SwimX to je přesně to co jsem potřeboval díky.
|
||
Časová prodleva: 15 let
|
0