Autor Zpráva
MAUGLI
Profil *
Chci se zeptat, proč se mi vypisuje chybová hláška WARNING o nemožnosti poslání header, když v PHP scriptu následuje za DIE ... měl jsem za to, že DIE ukončuje celý skript a čtení dál nepokračuje...

Děkuju za osvělení

<?php
include("UC_config.php");
$admin_del=mysql_query("DELETE FROM test_tab WHERE user='{$_GET['akce']}'");

if(!$admin_del)
die("Los problemos s vymazanim z databaze");

header("location: UC_admin.php");

?>
souki
Profil
a určitě projde podmíka if(!$admin_del) ?
MAUGLI
Profil *
No projde... chodí to... nebo je tam nějaká bota? A co to DIE?
souki
Profil
Pokud se nepletu, tak se DIE provede, jen když se NEpovede vymazání z databáze
MAUGLI
Profil *
No to jo, tak to myslím... to je správně :)

Jde mi o to, proč, když se nepovede vymazání z databáze a nastoupí hláška za DIE, proč se potom ještě vypíše WARNING o header... myslel jsem, že po DIE už se nic neprování, tak nevím proč se ještě zkusí zkusí provést header("location: UC_admin.php");
Peca
Profil
To že se vymaže 0 řádků ještě neznamená, že se nepovede vymazání z databáze. Zjisti si, co vůbec je v proměnné $admin_del.
DoubleThink
Profil *
die a jeho ekvivalent exit okamžitě terminují script (a v případě neprázdného output bufferu ho ještě předtím vysypou).

To, co popisuješ, nemůže nastat.
Ujisti se, že:
1) je podmínka opravdu splněna
2) nemáš někde jinde zahájený výstup (třeba v UC_config.php)

Následující script funguje zcela korektně:
<?php

$admin_del = false;
if(!$admin_del)
die("Los problemos s vymazanim z databaze");

header("location: UC_admin.php");
?>
MAUGLI
Profil *
No podminka je splnena, protoze se mi vypise ta hlaska "Los problemos.... a pod tím WARNING o header

.... kdyz neni splnena, tak se mi to rovnou přesměruje na UC_ admin.php
MAUGLI
Profil *
.. a UC_config.php

<?php

$server="localhost";
$server_user="root";
$server_password="";

@$spojeni=MySql_Connect("$server","$server_user","$server_password");

if(!$spojeni):
die("Nelze se pripojit k databazi");
else:

@$select_db = MySql_Select_DB("test_db"); // nutno zm&igrave;nit název databaze

if(!$select_db):
die("Nelze vybrat databazi <BR>");
endif;

endif;

?>
RiZe
Profil
Ujistit se, zda ti někde skutečně neutekl prázdný řádek (PSPad tuším dělá vždy na konci souboru), zjistíš to tak, že si třeba necháš zobrazit čísla řádků ve svém editoru a koukneš, jestli pod značkou ?> nemáš ještě řádek, a nebo umazat značky ?> v souborech, kde je čistě PHP kód.
Ssob
Profil
MAUGLI
A jaky WARNING to vypise? Headers already sent?
Zda se mi to nejake divne.. Die by melo opravdu ukoncit script.
Muzes skusit:

if(!$admin_del)
{
print "Los problemos s vymazanim z databaze";
exit;
}
Toto téma je uzamčeno. Odpověď nelze zaslat.