Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Prüfen ob Variable leer ist (https://www.delphipraxis.net/33161-%5Bphp%5D-pruefen-ob-variable-leer-ist.html)

Plague 2. Nov 2004 13:50


[PHP] Prüfen ob Variable leer ist
 
Hallo,

ich möchte in PHP prüfen lassen, ob eine Variable beim öffnen der Seite vorhanden ist und wenn nicht diese umleiten.
Wie kann ich das machen?

Ich habe es so probiert aber das funktioniert nicht:
Code:
<?php
if ($ID='') {
   header("Location: http://www.addy.de");
   exit;
   }
?>
Gruß
Thomas

Gollum 2. Nov 2004 13:57

Re: [PHP] Prüfen ob Variable leer ist
 
Hallo,

mit isset.
Code:
<?php
  if (!isset($ID))
  { 
    header("Location: http://www.addy.de");
    exit;
  } 
?>

alcaeus 2. Nov 2004 13:57

Re: [PHP] Prüfen ob Variable leer ist
 
Hi Thomas,

probiers mal so:
Code:
if (!empty($ID)
{
//Dein Code
}
Beachte aber dass PHP case-sensitiv ist.

Greetz
alcaeus

velgreyer 2. Nov 2004 13:57

Re: [PHP] Prüfen ob Variable leer ist
 
Ich nehme an Du brauchst isset():
Code:
<?php
if (isset($ID)) {
   header("Location: http://www.addy.de");
   exit;
   }
?>
evtl. solltest du auch isset($_GET["ID"]) bzw. isset($_POST["ID"]) nehmen ;)

http://datar.de/s.jpg, vel

Plague 2. Nov 2004 14:18

Re: [PHP] Prüfen ob Variable leer ist
 
Also irgendwie funktioniert es immer noch nicht so ganz. Denn es wird immer diese Fehlermeldung ausgegeben (bei allen o.g. Variationen).

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web200/html/Test/datei1.php:8) in /var/www/web200/html/Test/datei2.php on line 10

Vielleicht habe ich mich auch blöd ausgedrückt. Es PHP soll prüfen ob diese Variable existiert (was ja eigentlich das gleiche ist wie leer, oder)?

Was nun??? :cry:

Thomas

alcaeus 2. Nov 2004 14:20

Re: [PHP] Prüfen ob Variable leer ist
 
Hi Plague,

erstellt das Script bereits eine andere Ausgabe? Sobald nämlich etwas ausgegeben wird, darfst du keinen Header mehr senden.
Versuch mal folgendes vor dem header-Befehl einzufügen:
Code:
ob_end_clean();
Ich weiß nicht ob es funktioniert, vielleicht hast du ja Glück

Greetz
alcaeus

Plague 2. Nov 2004 14:23

Re: [PHP] Prüfen ob Variable leer ist
 
Nein, also der erste Code im PHP ist die If-Abfrage der Variablen. Vorher steht nur HTML-Code...

Gruß
Thomas

alcaeus 2. Nov 2004 14:25

Re: [PHP] Prüfen ob Variable leer ist
 
Zitat:

Zitat von Plague
Vorher steht nur HTML-Code...

Und genau das ist die Ausgabe die den Fehler verursacht. Was genau in dem Fall zu tun ist weiß ich leider auch nicht (:oops:), aber die Ausgabe muss weg.

Greetz
alcaeus

Plague 2. Nov 2004 14:26

Re: [PHP] Prüfen ob Variable leer ist
 
Dann lasse ich sie einfach nach der If-Abfrage per echo() erstellen...

Danke
Thomas

Plague 2. Nov 2004 14:30

Re: [PHP] Prüfen ob Variable leer ist
 
JUHU!!!

Es klappt! :thumb:

Danke
Thomas

Airblader 2. Nov 2004 15:15

Re: [PHP] Prüfen ob Variable leer ist
 
Zur Klärung:

die header() Funktion (die nicht nur zum umleiten per Location dient) sendet HTTP - Header.
Wenn bereits eine Ausgabe gestartet wurde (ein Leerzeichen vor dm Script würde genügen) kann der Browser ja nicht mehr umstellen.

Will man aber nicht alles per echo ausgeben, würde es folgende Methode geben:

Anstatt:
Code:
<?php
header("Location: foobar.php");
?>
das:

Code:
<?php
echo "<script>\n";
echo "locatio.href = 'foobar.php';\n";
echo "</script>\n";
?>
Achtung:

Nach einer Weiterleitung - egal ob JS oder PHP - die aus Sicherheitsgründen erstellt wurde, immer:

Code:
exit;
Denn wenn das header() versagt oder wenn der user JS ausgeschaltet hat (keine Weiterleitung) darf der Rest der Seite auch nicht mehr angezeigt werden!

Achja: JS kann natürlich ausgeschaltet sein, daher etwas "dumm".

air

jfheins 2. Nov 2004 15:21

Re: [PHP] Prüfen ob Variable leer ist
 
Man kann des auch einfach so machen:
Code:
<? if (§a == "b")
{
  header ("Location: http://google.de/")
  exit;
}
?>
HTML-Code
<?
PHP-Code
?>

Jelly 2. Nov 2004 15:40

Re: [PHP] Prüfen ob Variable leer ist
 
Zitat:

Zitat von Plague
Code:
<?php
if ($ID='') {
   header("Location: http://www.addy.de");
   exit;
   }
?>

Hallo Thomas,
ich möchte dich hier noch drauf hinweisen, daß in PHP Vergleiche nicht mit $ID='' sondern mit "if $ID==''" gemacht werden. Mittels $ID='' setzt du nämlich ein einem Ruck auch gleich den Wert auf '', und somit ist der Vergleich immer TRUE. Ich hatte das Problem schon sooft weil ich wohl zuviel in Delphi progge. Und den Fehler sucht man dann meist sehr lange...

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 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