problem mit wertübergabe in url
-
hallo
ich habe folgende struktur eine klasse controller und eine klasse view.
view ist für die darstellung verantwortlich. wenn ich jetzt controller.php aufstarte erscheint die startseite (die mit echo getstandardartView aufgerufen wird ) wenn ich jetzt aber auf der startseite einen anderen link anklicke erscheint die neue seite nicht. in der url wird zwar der wert func=1 übergeben aber dieser wert sollte dann eigentlich der Klasse controller übergeben werden und dort die nächste seite aufrufen (aber die variable func in der Klasse controller ist immer leer)woran liegt das???
<?php include("View.php"); include("Database.php"); echo getHtmlHead(); if (!isSet($func)){ echo getStandartView(); $func = 1; } else { switch($func){ case 1: insert(2,1,"wer bist du","keine Ahnung","00:02:00",0); echo getAddEntryView(); break; case 2: echo getShowEntrysView(showQuestions()); break; case 3: if (!isSet($id)){ echo getDeleteEntryView(showQuestions()); }else { delete($id); echo getDeleteEntryView(showQuestions()); } break; default: } } ?>
<?php function getStandartView(){ return ' <h1>Fragengenerator Hauptseite</h1> <table> <tr> <td width="33%" align="center"><a href="controller.php?func=1">Frage hinzufügen</a></td> <td width="33%"align="center"><a href="controller.php?func=2">Fragen anzeigen</a></td> <td align="center"><a href="controller.php?func=3">Fragen löschen</a></td> </tr> </table>'; }
-
Bei neueren PHP-Versionen ist register_globals standartmäßig aus Sicherheitsgründen auf off. Deswegen kannst du nich direkt per $func auf den Wert zugreifen, sondern mittels $_GET['func'] bzw. falls du PHP < 4.1.0 am Laufen hast über das $HTTP_GET_VARS Array