Autor Zpráva
Conpuerus
Profil *
Ahoj, měl jsem stránky na wz.cz, kde je verze PHP 5.2.13. Nyní jsem přešel na placené stránky od WEDOSu a tam je verze PHP 5.3.5. Na stránkách mám pomocí php řešen výpis příspěvků uložených v souboru:
<?php
	function seznam()
	{
		$od = $GLOBALS["od"];
		$vzkazy = $GLOBALS["vzkazy"];
		echo "<p align=\"center\">";
		if ($od > 10){
			echo "<a href=\"?soubor=vzkaznik.php&od=".($od-10)."\">&lt;&lt;&lt</a>&nbsp;&nbsp;";
			}
		for ($i=1; $i<=Count($vzkazy); $i+=10)
		{
			if ($od!=$i){
				echo "<a href=\"?soubor=vzkaznik.php&od=$i\">";
				}
			if ($i < Count($vzkazy)){
				echo (($i-1)/10)+1;}
			if ($od!=$i){
				echo "</a>";
				}
			echo "&nbsp;&nbsp;";
		}
		if ($od+9 < Count($vzkazy))
			echo "<a href=\"?soubor=vzkaznik.php&od=".($od+10)."\">&gt;&gt;&gt</a>";
		echo "</p>";
	}
		$vzkazy = Explode("§§§", Implode("", File("../vzkaznik.dat")));
	if ($od<1 || $od>Count($vzkazy))
		$od = 1;
		seznam();
	for ($i=Count($vzkazy)-$od-1; $i>Count($vzkazy)-$od-11; $i--)
		echo $vzkazy[$i];
	seznam();
?>

Na starých stránkách to fungovalo, na nových to nefunguje... Mohl by mi prosím někdo poradit, jak to na nových stránkách (s novější vezí PHP) zprovoznit? Děkuji
TomasJ
Profil
Conpuerus:
Myslím že to bude tím $GLOBALS
panther
Profil
Conpuerus:
jak nefunguje? Najdi si postupnými výpisy (třeba pomocí echa za každým logickým blokem kódu), kde se aplikace zasekne, na jakém řádku.

Pak to můžeme řešit dál. Nikdo to za tebe debugovat nebude.
TomasJ
Profil
panther:
Nemusí mít povolené register_globals...
Conpuerus
Profil *
Ještě bych upřesnil co vlastně nefunguje...
Vypíšou odkazy na další stránky a příspěvky do tabulky. Když kliknu na číslo jiné stránky, tak se do adresy dá, to, co má, ale příspěvky jsou stále ze stránky první...

A register_globals povolené není (vyjádření poskytovatele - není to odpověď na můj dotaz, jenom jsem ho našel u nich na fóru:
Z jakého důvodu register_globals potřebujete? Jedná se o poměrně nebezpečnou a dnes již zavrženou vlastnost PHP a v dalších verzích PHP už nebude dokonce ani existovat. Vaše aplikace nedokáže bez register_globals fungovat a nelze ji upravit?)
Tori
Profil
Conpuerus:
Kde berete proměnnou $od? Jestli tohle je celý skript, tak je potřeba upravit, aby fungoval nezávisle na register_globals.
TomasJ
Profil
Tori:
Takhle jsem to myslel... Tím že je nemá zapnuté, to musí udělat tak aby to běželo i bez register_globals
které se mimochodem dají zapnout v .htaccess (aspoň ve většině případech)
Conpuerus:
Trochu literatury: http://navody.c4.cz/register_globals
Pokud to jde z adresy, to $od a $vzkazy, pak vlož parametry do funkce
function seznam($od,$vzkazy){....}
Dál už pak ve funkci $od a $vzkazy nedeklaruj.
Funkci budeš volat s parametry: seznam($_GET['od'],$_GET['vzkazy']);
Conpuerus
Profil *
TomasJ:
Děkuji, teď už jsem to dal dohromady... ještě jsem si s tím musel trochu pohrát, ale už to funguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0