Nefunguje header – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nefunguje header – PHP – Fórum – Programujte.comNefunguje header – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Mishsuli0
Newbie
9. 12. 2014   #1
-
0
-

Prosím vás viete niekto kde môže byť chyba keď z ničoho nič prestane ísť refreshovanie stránky cez header? 
Fungovalo mi to a ako som kód rozširoval tak to prestalo fungovať a neviem kedy presne to prestalo ísť a teraz v tom kóde len hľadám, hľadám a bez výsledku :( 


 



<?php 
if(isset($_COOKIE['opravnenie']) >= 1){ 
include './funkcie.php'; 
error_reporting(E_ALL ^ E_DEPRECATED); 
pripojDb(); 
?>
 <html> 
<head> 
<title>Výpis termínov</title> 
<link rel="stylesheet" href="./style.css"> 
<meta content="text/html" charset="UTF-8" lang="SK"> 
</head> 
<body> 
<table class='tabulka'>
 <tr> 
<td>ID</td> 
<td>Miestnosť</td> 
<td>Predmet</td> 
<td>Pedagog</td> 
<td>Dátum</td> 
<td>Kapacita</td>
<td>Poznámky</td> 
<td colspan="2"></td> 
</tr> 
<?php $kod = $_COOKIE['kod']; 
$dotaz = mysql_query("SELECT vt.*, p.priezvisko, sp.* FROM vypisane_terminy vt JOIN pedagogovia p ON vt.kod_pedagoga = p.kod_pedagoga JOIN studenti_predmety sp ON vt.skratka_predmetu = sp.skratka_predmetu WHERE sp.kod_studenta = '$kod' OR vt.kod_pedagoga = '$kod'");
if(mysql_num_rows($dotaz) > 0) { while ($vypis = mysql_fetch_assoc($dotaz)) { 
echo "<tr>"; 
echo "<td><center>" . $vypis['id_terminu'] . "</center></td>";
echo "<td><center>" . $vypis['skratka_miestnosti'] . "</center></td>"; 
echo "<td><center>" . $vypis['skratka_predmetu'] . "</center></td>"; 
echo "<td><center>" . $vypis['priezvisko'] . "</center></td>"; 
echo "<td><center>" . $vypis['datum_cas'] . "</center></td>"; 
echo "<td><center>" . $vypis['pocet_prihlasenych'] . "/" . $vypis['max_pocet_prihlasenych'] . "</center></td>"; 
echo "<td><center>" . $vypis['poznamka'] . "</center></td>"; 
if ($_COOKIE['opravnenie'] == 1) { 
$id_terminu = $vypis['id_terminu'];
$kod_studenta = $_COOKIE['kod']; 
$dotaz2 = mysql_query("SELECT * FROM zapisane_terminy WHERE id_terminu = '$id_terminu' AND kod_studenta = '$kod_studenta'"); 
if (mysql_num_rows($dotaz2) > 0) { 
echo "<td><a href='vypisane_terminy.php?id=" . $vypis['id_terminu'] . "&akcia=odhlasit'><center>Odhlasiť sa</center></a></td>"; 
} else { 
echo "<td><a href='vypisane_terminy.php?id=" . $vypis['id_terminu'] . "&akcia=prihlasit'><center>Prihlásiť sa</center></a></td>"; 
} 
} 
if ($_COOKIE['opravnenie'] == 2) { /* echo "<td><a href='vypisane_terminy.php?id=" . $vypis['id_terminu'] . "&akcia=upravit'><center>Upraviť</center></a></td>"; echo "<td><a href='vypisane_terminy.php?id=" . $vypis['id_terminu'] . "&akcia=vymazat'><center>Vymazať</center></a></td>";*/ } 
echo "</tr>"; 
} 
}else{ 
echo "<tr>"; 
echo "<td colspan='8'><center>Nie sú vypísané žiadne termíny.</center></td>";
echo "</tr>"; 
} 
if(isset($_GET['akcia'])) { if ($_GET['akcia'] == 'prihlasit') { 
$id = $_GET['id']; 
$kod_studenta = $_COOKIE['kod']; 
$dotaz = mysql_query("SELECT pocet_prihlasenych, max_pocet_prihlasenych FROM vypisane_terminy WHERE id_terminu = '$id'");
$p = mysql_fetch_array($dotaz); 
if($p['pocet_prihlasenych'] < $p['max_pocet_prihlasenych']) {
$p = $p['pocet_prihlasenych'] + 1; 
mysql_query("UPDATE vypisane_terminy SET pocet_prihlasenych = '$p' WHERE id_terminu = '$id'"); 
mysql_query("INSERT INTO zapisane_terminy (id_terminu, kod_studenta) VALUES ('$id', '$kod_studenta')"); 
} 
header('Location: ./vypisane_terminy.php'); 
} else if ($_GET['akcia'] == 'odhlasit') { 
$id = $_GET['id']; 
$dotaz = mysql_query("SELECT pocet_prihlasenych FROM vypisane_terminy WHERE id_terminu = '$id'");
$p = mysql_fetch_array($dotaz); 
$p = $p['pocet_prihlasenych'] - 1; 
mysql_query("UPDATE vypisane_terminy SET pocet_prihlasenych = '$p' WHERE id_terminu = '$id'"); 
mysql_query("DELETE FROM zapisane_terminy WHERE id_terminu = '$id'"); 
header('Location: ./vypisane_terminy.php'); }/* else if($_GET['akcia'] == 'upravit'){ }else if($_GET['akcia'] == 'vymazat'){ }*/
 } 
?> 
</table> 
</body> 
</html> 
<?php 
odpojDb(); 
}else{ 
echo "Nemáte oprávnenie na prezeranie obsahu tejto stránky!"; 
} 
?>


Nahlásit jako SPAM
IP: 78.128.143.–
Řešení
Kit+15
Guru
9. 12. 2014   #2
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

#1 Mishsuli
Klasika: Před voláním header('Location: ...'); nesmí být žádný textový výstup.

Nauč se formátovat kód. Tohle se nedá číst.

Máš tam SQL injection. Sprav si to.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Mishsuli0
Newbie
9. 12. 2014   #3
-
0
-

#2 Kit
Ďakujem chyba vyriešená, kód formátujem čitateľne aspoň podľa mňa ale toto čo som sem dával by bolo na dlho to formátovať v tom prehliadači a ja som mal dosť naponáhlo,, mám kopec ďalšej roboty do školy... 
A táto chyba ma dosť pribrzdila.. 
A SQL Injection neriešim zatiaľ,, je to na seminárku do školy a zatiaľ sme nebrali zabezpečenie a viem o tom toľko čo som si našiel na nete ale nemám to v zadaní úlohy tak si s tým nejdem komplikovať život... :) 
ešte raz ďakujem za ušetrenie môjho času a ospravedlňujem sa za ubratie z toho vašeho... :)

Nahlásit jako SPAM
IP: 78.128.143.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Header — založil mORb

Header — založil cheeester

Header — založil survik1

Header — založil JeanBabtisteGrenouille

Template header — založil TauWich

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý