Pomoc ohladom Header v php kóde

Programovacie jazyky, rady, poradňa...
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Pomoc ohladom Header v php kóde

Príspevok od používateľa geoge046 »

Kód: Vybrať všetko

<?
//definovanie podmienok
$max_velkost = 2097152;
$max_sirka = "500";
$max_vyska = "800";
$typy_suborov = array("image/bmp","image/gif","image/pjpeg","image/jpeg");
//funkciaa GetImageSize vytvori pole obsahujúce rozmery
$size = GetImageSize($obrazok1);
list($width, $height, $type, $attr) = $size;
//upload
if ($obrazok1 == "") {
	Header("Location: ./pridaj.php?err=1");
	} else {
		if (!in_array($obrazok1_type,$typy_suborov)) {
			Header("Location: ./pridaj.php?err=2");
			} else {
				if ($obrazok1_size > $max_velkost || $width > $max_sirka || $height > $max_vyska) {
					Header("Location: ./pridaj.php?err=3");
							} else { 
								if ($height < $max_vyska && $width < $max_sirka && $obrazok1_size < $max_velkost) {
						if ($obrazok1<>"none"):
							echo "<table border=\"1\" bordercolor=\"red\" bordercolordark=\"#FF6600\" bordercolorlight=\"#FF0000\"><tr><td bgcolor=\"orange\"><b>Pôvodné meno obrázku:</b></td><td> ".$obrazok1_name."</td></tr>";
							echo "<tr><td bgcolor=\"orange\"><b>Docasné meno obrázku:</b></td><td> ".$obrazok1."</td></tr>";
							echo "<tr><td bgcolor=\"orange\"><b>Velkost obrázku v bajtoch:</b></td><td> ".$obrazok1_size."</td></tr>";
							echo "<tr><td bgcolor=\"orange\"><b>Typ obrázku:</b></td><td> ".$obrazok1_type."</td></tr>";
							echo "<tr><td bgcolor=\"orange\"><b>Adresa obrázku:</b></td><td> <a href=\"http://skuska.tvorbawebu.eu.sk/obrazky/$obrazok1_name\" target=\"_blank\">http://skuska.tvorbawebu.eu.sk/obrazky/".$obrazok1_name."</a></td></tr></table>";
							$ciel1 = "obrazky/$obrazok1_name";
							if (!copy($obrazok1, $ciel1)) {
								Header("Location: ./pridaj.php?err=4");
								}
						endif;
								} 
							} 
						}	
				}	
?>
A PRI TOMTO MI VYPISUJE TAQUTO CHYBU (to som vtedy zadal obrazok vacsi ako povolene hodnoty):

Kód: Vybrať všetko

Warning: Cannot modify header information - headers already sent by (output started at /domains1/do427200/public/www_root/skuska/skuska.php:9) in /domains1/do427200/public/www_root/skuska/skuska.php on line 26
V COM TO JE? :?:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To je len časť toho php skriptu? (nejako mi tam nesedia riadky)
lama2d
VIP
VIP
Príspevky: 1006
Registrovaný: 24 feb 2005, 14:54
Bydlisko: PostgreSQL

Príspevok od používateľa lama2d »

Niekde predtym odosielas neosetreny dotaz na DB... Skus dat premenne post v dotaze pri odosielani do tejto funkcie:

Kód: Vybrať všetko

function sqlesc($x) {
 $x = stripslashes($x);
return "'".mysql_real_escape_string($x)."'";
} 
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

toto je cely kod tej stranky :)

Kód: Vybrať všetko

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Untitled Document</title>
</head>

<body>
<?
//definovanie podmienok
$max_velkost = 2097152;
$max_sirka = "500";
$max_vyska = "800";
$typy_suborov = array("image/bmp","image/gif","image/pjpeg","image/jpeg");
//funkciaa GetImageSize vytvori pole obsahujúce rozmery
$size = GetImageSize($obrazok1);
list($width, $height, $type, $attr) = $size;
//upload
if ($obrazok1 == "") {
	Header("Location: ./pridaj.php?err=1");
	} else {
		if (!in_array($obrazok1_type,$typy_suborov)) {
			Header("Location: ./pridaj.php?err=2");
			} else {
				if ($obrazok1_size > $max_velkost || $width > $max_sirka || $height > $max_vyska) {
					Header("Location: ./pridaj.php?err=3");
							} else { 
								if ($height < $max_vyska && $width < $max_sirka && $obrazok1_size < $max_velkost) {
						if ($obrazok1<>"none"):
							echo "<table border=\"1\" bordercolor=\"red\" bordercolordark=\"#FF6600\" bordercolorlight=\"#FF0000\"><tr><td bgcolor=\"orange\"><b>Pôvodné meno obrázku:</b></td><td> ".$obrazok1_name."</td></tr>";
							echo "<tr><td bgcolor=\"orange\"><b>Docasné meno obrázku:</b></td><td> ".$obrazok1."</td></tr>";
							echo "<tr><td bgcolor=\"orange\"><b>Velkost obrázku v bajtoch:</b></td><td> ".$obrazok1_size."</td></tr>";
							echo "<tr><td bgcolor=\"orange\"><b>Typ obrázku:</b></td><td> ".$obrazok1_type."</td></tr>";
							echo "<tr><td bgcolor=\"orange\"><b>Adresa obrázku:</b></td><td> <a href=\"http://skuska.tvorbawebu.eu.sk/obrazky/$obrazok1_name\" target=\"_blank\">http://skuska.tvorbawebu.eu.sk/obrazky/".$obrazok1_name."</a></td></tr></table>";
							$ciel1 = "obrazky/$obrazok1_name";
							if (!copy($obrazok1, $ciel1)) {
								Header("Location: ./pridaj.php?err=4");
								}
						endif;
								} 
							} 
						}	
				}	
?>
</body>
</html>
PS: Ja mam pocit , ze akokeby sa tam biju tie Headeri... Mnoo a v tomto pripade tu nemam nist spolocne s DB :)
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

a zostalo to na tom riadku, kde vyčekovalo veľkú veľkosť obrázka, a chcelo ist na ten header location... :wink:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Problém je to:

Kód: Vybrať všetko

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Untitled Document</title>
</head>

<body>
Keď niečo pošleš do výstupu, nemôžeš potom použiť funkciu na posielanie http hlavičky (tá sa musí poslať úplne prvá).
Takže celú tú html hlavičku daj až na miesto, kedy bude jasné, že sa funkcia header() už nepoužije.
Snáď som sa nikde nepomýlil :) :

Kód: Vybrať všetko

<body>
<?php
//definovanie podmienok
$max_velkost = 2097152;
$max_sirka = "500";
$max_vyska = "800";
$typy_suborov = array("image/bmp","image/gif","image/pjpeg","image/jpeg");
//funkciaa GetImageSize vytvori pole obsahujúce rozmery
$size = GetImageSize($obrazok1);
list($width, $height, $type, $attr) = $size;
//upload
if ($obrazok1 == "") {
	Header("Location: ./pridaj.php?err=1");
	exit;
}
if (!in_array($obrazok1_type,$typy_suborov)) {
	Header("Location: ./pridaj.php?err=2");
	exit;
}
if ($obrazok1_size > $max_velkost || $width > $max_sirka || $height > $max_vyska) {
	Header("Location: ./pridaj.php?err=3");
	exit;
}
if ($obrazok1 == "none") {
	exit;
}
$ciel1 = "obrazky/$obrazok1_name";
if (!copy($obrazok1, $ciel1)) {
	Header("Location: ./pridaj.php?err=4");
	exit;
}
?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Untitled Document</title>
</head>
<body>
<table border="1" bordercolor="red" bordercolordark="#FF6600" bordercolorlight="#FF0000">
	<tr><td bgcolor="orange"><b>Pôvodné meno obrázku:</b></td><td><?php echo $obrazok1_name; ?></td></tr>
	<tr><td bgcolor="orange"><b>Docasné meno obrázku:</b></td><td><?php echo $obrazok1; ?></td></tr>
	<tr><td bgcolor="orange"><b>Velkost obrázku v bajtoch:</b></td><td><?php echo $obrazok1_size; ?></td></tr>
	<tr><td bgcolor="orange"><b>Typ obrázku:</b></td><td><?php echo $obrazok1_type; ?></td></tr>
	<tr><td bgcolor="orange"><b>Adresa obrázku:</b></td><td> <a href="http://skuska.tvorbawebu.eu.sk/obrazky/<?php echo $obrazok1_name; ?>" target="_blank">http://skuska.tvorbawebu.eu.sk/obrazky/<?php echo $obrazok1_name; ?></a></td></tr>
</table>
</body>
</html>
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

pripadne pouzi funkcie ob_start(), ob_get_content() atd
Napísať odpoveď