Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Alternative zu die() ? (https://www.delphipraxis.net/95830-%5Bphp%5D-alternative-zu-die.html)

.chicken 13. Jul 2007 21:44


[PHP] Alternative zu die() ?
 
Hm beim erstellen meiner Homepage ist mir nochmal ein Problem untergekommen!

Meine Seite ist folgendermassen aufgebaut:
Ich habe eine Index-Seite, auf der in einer Tabelle ein Design ist. Per Include werden dann in eine Zelle die Unterseiten geladen!

Wenn ich jetzt auf einer Unterseite aber ein die() ausgeben will, zB weil jemand nicht berechtigt ist einene Beitrag zu verfassen oder sowas, dann wird im Index der Teil der Tabelle, der unter dem include-Teil ist, nichtmehr angezeigt!

Gibts ne alternative zu die()? Die nicht das komplette Script beendet sondern in dem Fall nur die includete Seite?

MfG

pacman1986 13. Jul 2007 21:57

Re: [PHP] Alternative zu die() ?
 
Ich würde es mit einer abfrage lösen
:D

if(berechtigt){
include
}else{
echo "Du bist nicht berechtigt"
}

.chicken 13. Jul 2007 22:27

Re: [PHP] Alternative zu die() ?
 
Hm ja das is aber n bissl komplizierter ^^
Also es wird eine Seite included und dann gibts da noch viele verschiedene actions! Kommentar schreiben, Beitrag hinzufügen...sowas alles!

Da könnte ich if-Abfragen schrieben, würde das Script allerdings um einiges komplizierter machen! Außerdem könnte ich dann die(mysql_error()) und solche Sachen auch nichtmehr benutzen! Sehr ärgerlich! Gibts keine Alternative?

Edit: Ups da haett ich fast das danke vergessen ^^
Also trotzdem danke! ;-)

Edit2:So für mein momentanes Problem hab ich ne Lösung gefunden! Breche einfach die Switch-Abfrage mit break ab (hätte ich auch eher drauf kommen können).
Mich würd trotzdem interessieren obs eine Alternative zu die() gibt, die wie oben beschrieben funktioniert :)

Florian H 14. Jul 2007 00:16

Re: [PHP] Alternative zu die() ?
 
Du könntest eine eigene Funktion (z.B. "Ende()") schreiben, welche sowohl ganz am Ende der index.php als auch beim Auftreten eines Fehlers aufgerufen wird. Darin findet dann das ganze Zeug wie offene Tags schließen, MySQL-connection schließen etc statt.. und schließlich wird das Script beendet ;)

DGL-luke 14. Jul 2007 00:19

Re: [PHP] Alternative zu die() ?
 
Ein return; außerhalb einer funktion sollte ein includetes script beenden und zum includenden script zurückkehren.

(Natürlich klannst du auch sämtliche includeten Sachen in Funktionen kapseln, in denen du returnierst)

EDIT:
Das ganze hängt mit folgender PHP-Sache zusammen:

Delphi-Quellcode:
//index.php
$echo = include('echo.php');
echo $echo;
//echo.php
return 'Echo';

.chicken 14. Jul 2007 01:02

Re: [PHP] Alternative zu die() ?
 
Juhuuuu, das war genau was ich suchte! Dankeschöööön! :)

r2c2 14. Jul 2007 07:36

Re: [PHP] Alternative zu die() ?
 
Andere Möglichkeit seit PHP 5: Exceptions...

mfg

Christian

Mamphil 14. Jul 2007 22:20

Re: [PHP] Alternative zu die() ?
 
Hi,

du kannst auch innerhalb einer per inlude / require eingefügten Datei mit "return;" die Abarbeitung des Scripts abbrechen und zum "Vater"-Script zurück gehen. Ich denke, das bietet sich am ehesten für deine Zwecke an.

Viele Grüße,
Mamphil

edit: Den Beitrag von DGL-luke, in dem dasselbe vorgeschlagen wurde, habe ich gewissentlich übersehen. Sorry :-)

.chicken 15. Jul 2007 14:42

Re: [PHP] Alternative zu die() ?
 
Danke trotzdem ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz