Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki,

perrašius windos'us ir naujai įdiegus XAMPP virtualų web serverį susidūriau su problema. Iki tol klaidų nemetęs tinklapis pasipylė klaidomis. Gal kasnors žinote kame reikalas ?

 

Problema:

http://pauliuswebs.puslapiai.lt/saturo/klaidos/error.png

 

Išeities kodas:


	if ($_GET['p'] == saturo)	
		echo	'<td><a href="index.php?p=saturo"><img src="img/meniu/kas2.png"></a></td>';
	else
		echo	'<td><a href="index.php?p=saturo"><img src="img/meniu/kas.png"></a></td>';

	if ($_GET['p'] == paslaugos)	
		echo	'<td><a href="index.php?p=paslaugos"><img src="img/meniu/paslaugos2.png"></a></td>';
	else
		echo	'<td><a href="index.php?p=paslaugos"><img src="img/meniu/paslaugos.png"></a></td>';

	if ($_GET['p'] == galerija)	
		echo	'<td><a href="index.php?p=galerija"><img src="img/meniu/galerija2.png"></a></td>';
	else
		echo	'<td><a href="index.php?p=galerija"><img src="img/meniu/galerija.png"></a></td>';

	if ($_GET['p'] == klientai)	
		echo	'<td><a href="index.php?p=klientai"><img src="img/meniu/klientai2.png"></a></td>';
	else
		echo	'<td><a href="index.php?p=klientai"><img src="img/meniu/klientai.png"></a></td>';

	if ($_GET['p'] == kontaktai)	
		echo	'<td><a href="index.php?p=kontaktai"><img src="img/meniu/kontaktai2.png"></a></td>';
	else
		echo	'<td><a href="index.php?p=kontaktai"><img src="img/meniu/kontaktai.png"></a></td>';


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kai rašai:

$a = sausainis;

PHP galvoja, kad „sausainis“, tai konstanta (įmantrus vardas pastoviam kintamajam apibūdinti) ir pirmiausiai ieško jos. String'us (teksto eilutes) reiktų apgaubti apostrofais, ar kabutėmis:

$a = 'sausainis';
$b = "pyragas";

 

Ne visai į temą, bet tavo kodą būtų galima parašyti ir gudriau - baisiai kartojiesi ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Žinokit nepadeda.. kai pakeičiau į apostrofas gaunu vistiek errorą:

 

Pakeitimas:

if ($_GET['p'] == 'saturo')	

 

Rezultatas:

Notice: Undefined index: p in C:\xampp\htdocs\saturo\index.php on line 32

 

O dėl logikos stokos žinau, kad ten blogai, bet nežinau kaip ta vietą protingiau aprašyti.. :rolleyes:

Redagavo Paulinho
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na, čia jau kita bėda - nėra tokio elemento masyve, t.y. per get niekas nepaduota. Gali daryti tokį dalyką:

if ( isset($_GET['p']) ) {
   $p = $_GET['p'];
}
else {
   $p = '';
}

Ir tada lyginti ne su $_GET['p'], bet su $p. Aišku, ir tolesniame savo kode turėsi kažkaip sureaguoti į tai, kad puslapio pavadinimas nėra paduodamas :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gali pasidaryti masyvą, kuriame būtų surašyti tie paveikslėlių pavadinimai:

 

$images = array('saturo', 'paslaugos', 'galerija', 'klientai', 'kontaktai');

 

Ir tiesiog tikrinti su if statement:

 

if(isset($_GET['p']) && in_array($_GET['p'], $images))
{
   echo '<td><a href="index.php?p="' . $_GET['p'] . '"2><img src="img/meniu/"' . $_GET['p'] . '"2.png"></a></td>';
}
else
{
   echo '<td><a href="index.php?p="' . $_GET['p'] . '"2><img src="img/meniu/"' . $_GET['p'] . '".png"></a></td>';
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Panašu, kad jūsų sprendimas padėjo išvengti dalies error'ų, bet vistiek keletas lieka. Ir meniu paveiklėlių nerodo - lieka tik su SKYPE vienintelis :)

 

http://pauliuswebs.puslapiai.lt/saturo/klaidos/error2.png

 

Apskritai man keista, kodėl šios klaidos išniro - seniau jų nerodė kai kodas buvo lygiai toks pats.. Tie patys failai guli tikram serveryje ir jokiu klaidų nemeta, o nauajai perinstaliuotoj lokalioj sistemoj meta klaidas..

Redagavo Paulinho
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Seniau gal buvo išjungtas klaidų rodymas, o tai yra blogai.:) Na, dabar klaida todėl, nes net jei ir nenustatytas $_GET['p'], jis yra reikalaujamas else bloke.

 

if(isset($_GET['p']) && in_array($_GET['p'], $images))
{
   echo '<td><a href="index.php?p="' . $_GET['p'] . '"2><img src="img/meniu/"' . $_GET['p'] . '"2.png"></a></td>';
}
else
{

   if (isset($_GET['p'])) {
           echo '<td><a href="index.php?p="' . $_GET['p'] . '"2><img src="img/meniu/"' . $_GET['p'] . '".png"></a></td>';

   } else {

        echo '<td><a href="index.php?p=standartinis2><img src="img/meniu/standartinis.png"></a></td>'; 

   }
}

 

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na jei realiam serve man ju nerodys tai bus labai gerai. Bet vistiek nepatogu kad lokaliai man jie trukdys matyti normalų rezultatą. Gal kartais žinote kaip šie pranešimai vadinasi ir kaip juos išjungti XAMP'e ?

 

40 eilutė yra jūsų pasiūlytoji:

echo '<td><a href="index.php?p="' . $_GET['p'] . '"><img src="img/meniu/"' . $_GET['p'] . '".png"></a></td>';

 

o 84 prasideda atitinkamo turinio įkėlimas iš failų:

                       if (!$_GET['p'] || $_GET['p'] == saturo)
			include('pages/saturo.php');
		elseif ($_GET['p'] == paslaugos)
			include('pages/paslaugos.php');
		elseif ($_GET['p'] == galerija)
			include('pages/galerija.php');
			elseif ($_GET['p'] == turinereklama)
				include('pages/turine.php');
		elseif ($_GET['p'] == klientai)
			include('pages/klientai.php');
		elseif ($_GET['p'] == kontaktai)
			include('pages/kontaktai.php');

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...