Pagina 1 din 2

probleme cu switch&include

Scris: Mie Iul 21, 2004 8:46 am
de Danutz
cu ce am gresit?

[php]
<?php
switch(strtolower($_GET['page']))
{
case "contact"; $page="contact.php"; break;
default: $page="home.php"; break;
}
include($page);
?>
[/php]

primesc urmatoarea erroare:

Notice: Undefined index: page in D:\WebServer\dTc\index.php on line 2

de ce?

sau exista vreo modalitate mai usoara pt creerea unui astfel de script?

Scris: Mie Iul 21, 2004 9:07 am
de eyecon
ai ";" dupa case "contact";

Scris: Mie Iul 21, 2004 9:09 am
de eyecon

Scris: Mie Iul 21, 2004 4:04 pm
de Troto

Re: probleme cu switch&include

Scris: Mie Iul 21, 2004 9:03 pm
de coditza

Scris: Joi Iul 22, 2004 2:05 am
de Danutz
deci nu stiu de ce a aparut ; in loc de : pe forum ca la mine in script sunt :
ma rog nu asta conteaza faza este ca mie nu imi merge scriptu din cate am inteles eu din ce mia zis troto sa ma uit ca ala decat ma avertizeaza de ceva dar scriptul ar trebui sa mearga. Eu cand pun link la buton www.site.ro/index.php?page=history imi apare tot indexul normal si nu reuses sa-i dau de cap de loc. Va mai dau scriptu odata cu : puse corect si toate cele

[php]
<?php
switch(strtolower($_GET['page']))
{
case "history": $page="history.php"; break;
default: $page="home.php"; break;
}
include($page);
?>
[/php]

Va multumesc

Scris: Joi Iul 22, 2004 2:49 am
de Troto
incearca asa:

[php]
<?php

error_reporting(E_ALL & ~E_NOTICE);

$pagina = strtolower($_GET['page']);

switch($pagina) {

case "history": $page="history.php"; break;
default: $page="home.php"; break;
}

include($page);

?>
[/php]

Scris: Joi Iul 22, 2004 3:01 am
de Danutz
saru`mana troto :D merge acum mersi mult

Scris: Joi Iul 22, 2004 3:59 am
de Troto
Sa cresti mare :P

Scris: Joi Iul 22, 2004 10:14 am
de Danutz
acum am dat de alta si iar am inebunit :cry:

am scriptu asa:

[php]
<?php

error_reporting(E_ALL & ~E_NOTICE);

$pagina = strtolower($_GET['page']);

switch($pagina) {

case "history": $page="history.php"; break;
case "members": $page="members.php"; break;
case "awards": $page="awards.php"; break;
case "downloads": $page="down.php"; break;
case "links": $page="links.php"; break;
case "contact": $page="contact.php"; break;
case "news": $page="news.php"; break;

$pagina = (strtolower($_GET['get']); // aici as vrea sa fie index.php?page=members&get=judy

switch($pagini) {

case "news19-03-2004": $page="news/news2.php"; break;
case "judy": $page="membri/judy.php"; break;

} break;


default: $page="re.php"; break;
}

include($page);
?>
[/php]

si primesc erroarea:

Parse error: parse error, unexpected ';' in D:\WebServer\dTc\index.php on line 17

ce masa nu-i mai convine acuma? :x

Scris: Joi Iul 22, 2004 10:49 am
de arond
Ai o paranteza in plus (sau una in minus, cum vrei s-o iei :) ).

[php]
...
$pagina = strtolower($_GET['page']);
...
[/php]

1. Nu mai postati, fratilor, lucruri de felul asta. Ce d-zeu, tre' sa va spuna cineva cum sa numarati paranteze ?

2. Solutia lui Troto:

[php]error_reporting(E_ALL & ~E_NOTICE); [/php]
nu iti rezolva problema (nu face decat sa elimine E_NOTICE din outputul PHP, si atat), ceea ce nu e tocmai tehnic.

Solutiile sunt multiple:

[php]
...
$pagina = empty($_GET['page']) ? '' : strtolower($_GET['page']);
...
[/php]
sau, mai aproape de solutia lui Troto (dar cu avantajul ca iti va afisa E_NOTICE in restul scriptului):

[php]
...
$pagina = @strtolower($_GET['page']);
...
[/php]

Numa' bune.

Scris: Joi Iul 22, 2004 11:37 am
de Troto
Eu am oferit solutia asta pt ca nu e tocmai o greseala si sunt sigur ca in configuratie el are E_ALL

Nu am inteles de ce vrei acolo sa fie index.php?page=members&get=judy.

Poate ne explici.

Scris: Joi Iul 22, 2004 12:38 pm
de lordhell
unde ai linia $pagina = (strtolower($_GET['get']); trebuie sa mai pui o paranteza....

$pagina = (strtolower($_GET['get'])); ....asa este bine!!!!!!

Scris: Joi Iul 22, 2004 3:26 pm
de arond

Scris: Joi Iul 22, 2004 5:33 pm
de Danutz