php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.03.2009, 20:22   #1 (permalink)
Benutzer
 
Registriert seit: 30.11.2008
Beiträge: 49
Fireball22 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Variable wird nicht globalisiert

Hallo,

folgendes Problem:

PHP-Code:
function test1() {
//...
if(!empty($error))
        {
        global 
$error;
        return 
false;
        }
        else
        {
        return 
true;
        }

PHP-Code:
test1();
if(isset(
$error))
    {
    echo 
"Error<br>";
    echo 
$error;
    } 
Leider wird die Schleife aber nie ausgeführt, da scheinbar nie $error gesetzt wird.
Jedoch wird in Funktion test1() 100%ig der erste Auswahlblock ausgeführt.

Was könnte hier nicht stimmen?

MfG
Michael
Fireball22 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.03.2009, 20:29   #2 (permalink)
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 319
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

steht das alles in einer Datei? bzw hast du einmal den kompletten Quelltext?
__________________
twitter.com/moveax1 || http://modxcms.com/ || http://ubuntuusers.de/

$live->free() OR die();
moveax1 ist offline   Mit Zitat antworten
Alt 02.03.2009, 20:31   #3 (permalink)
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.780
HPR1974 wird schon bald berühmt werden
Standard

Zitat:
Zitat von Fireball22 Beitrag anzeigen
Was könnte hier nicht stimmen?
a) deine fehlerbeschreibung
b) der quatschcode
HPR1974 ist offline   Mit Zitat antworten
Alt 02.03.2009, 20:37   #4 (permalink)
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 21.192
PHP-Kenntnisse:
Fortgeschritten
nikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblick
Standard

Was soll das bitte für einen Sinn machen?!
Bitte Nachdenken!

PHP-Code:
if(!empty($error))
        {
        global 
$error
__________________
--
„Eins ist Fakt: Gescannt wird nackt!“

Privatsphäre 2.0 - Nacktscanner mit Eyetracking.
Unser Flugzeug darf kein geschlechtsfreier Raum sein.
--
nikosch ist offline   Mit Zitat antworten
Alt 02.03.2009, 20:51   #5 (permalink)
Benutzer
 
Registriert seit: 30.11.2008
Beiträge: 49
Fireball22 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@HPR1974
Du weißt vllt. schon, dass es gewünscht ist, nur ein vereinfachtes Problemszenario im Gegensatz zu Seitenweise Code zu posten?

Hier der Code:
http://www.michis-homepage.net/extra...tions.inc.phps
http://www.michis-homepage.net/extra...ing/index.phps

MfG
Michael

EDIT:
Das macht Sinn, da in dieser Funktion überprüft wird, ob ein Fehler aufgetreten ist und dieser in $error gespeichert wird.
Ist das der Fall, wird die Variable globalisiert.
Fireball22 ist offline   Mit Zitat antworten
Alt 02.03.2009, 21:02   #6 (permalink)
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 21.192
PHP-Kenntnisse:
Fortgeschritten
nikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblick
Standard

Blödsinn. Entweder sie ist global oder nicht. "Globalisieren" geht nicht.
__________________
--
„Eins ist Fakt: Gescannt wird nackt!“

Privatsphäre 2.0 - Nacktscanner mit Eyetracking.
Unser Flugzeug darf kein geschlechtsfreier Raum sein.
--
nikosch ist offline   Mit Zitat antworten
Alt 02.03.2009, 21:09   #7 (permalink)
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 319
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

nur mal eine Frage, da ich es bis jetzt so verstanden und praktiziert habe.

Wenn eine Variable per global in den Scope einer Funktion geholt werden soll, muss diese doch auch ausserhalb der Funktion schon einmal deklariert worden sein, oder nicht?

global - php bar

die Erklärung von phpbar bestätigt mich auch darin:

Zitat:
Das Schlüsselwort global dient dazu Variablen aus dem main()-Geltungsbereich in einem anderen Geltungsbereich verfügbar zu machen oder umgekehrt.
Kann es also sein das er die Variable noch nicht deklariert hat, bzw. ist es ein gültiges Vorgehen global innerhalb einer Funktion zu nutzen wenn die Variable ausserhalb der Funktion noch nicht bekannt ist?

Wenn ich das falsch verstanden haben sollte, bitte verbessern.
__________________
twitter.com/moveax1 || http://modxcms.com/ || http://ubuntuusers.de/

$live->free() OR die();
moveax1 ist offline   Mit Zitat antworten
Alt 02.03.2009, 21:11   #8 (permalink)
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 21.192
PHP-Kenntnisse:
Fortgeschritten
nikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblicknikosch ist ein wunderbarer Anblick
Standard

Ist legitim. Wird dann eben bei der Zuweisung erstellt. PHP besitzt ja keine Variablendeklarationen im main Bereich. Nur wird global den vorherigen Wert mit der Referenz auf sie Globale überschreiben.
__________________
--
„Eins ist Fakt: Gescannt wird nackt!“

Privatsphäre 2.0 - Nacktscanner mit Eyetracking.
Unser Flugzeug darf kein geschlechtsfreier Raum sein.
--

Geändert von nikosch (02.03.2009 um 21:14 Uhr).
nikosch ist offline   Mit Zitat antworten
Alt 03.03.2009, 08:12   #9 (permalink)
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.780
HPR1974 wird schon bald berühmt werden
Standard

Zitat:
Zitat von Fireball22 Beitrag anzeigen
@HPR1974
Du weißt vllt. schon, dass es gewünscht ist, nur ein vereinfachtes Problemszenario im Gegensatz zu Seitenweise Code zu posten?
jaja, das lese ich immer wieder, allerdings posten die meisten dann irgendeinen blödsinnscode, der mit dem echten wenig gemein hat, unlogisch ist und meist auch noch vor Fehlern strotzt. Also lieber den original code posten, der das konkrete problem verursacht, dann ernteste auch keine blöden kommentare (es sei denn das is genauso ein blödsinn )

Ich kann gerne mal an deinem Ursprungspost aufzeigen, warum der Post völligst sinnbefreit war/ist und niemand damit was anfangen kann.
HPR1974 ist offline   Mit Zitat antworten
Alt 03.03.2009, 09:24   #10 (permalink)
Benutzer
 
Registriert seit: 30.11.2008
Beiträge: 49
Fireball22 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@nikosch
Kannst du mir erklären, wieso das deiner Meinung nach nicht geht?
Mit Global hat man die Möglichkeit - wie der Name schon sagt - eine Variable zu globalisieren.

@HPR1974
Jetzt bin ich gespannt! :P

MfG
Michael
Fireball22 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable per Session übergeben? Spricht etwas dagegen? Lapje PHP Tipps 2008 6 20.10.2008 21:49
Undefined variable Undefined property: block xxJJxx PHP Tipps 2008 16 05.08.2008 15:30
problem mit variable snatch-ic PHP Tipps 2007 5 13.12.2005 13:18
Variable durch 2. Variable bestimmen Quagga PHP Tipps 2005-2 11 26.10.2005 17:34
[Erledigt] Variable wird nicht erkannt bzw ausgegeben. PHP Tipps 2005-2 4 25.10.2005 18:54
Variable als Variable behandeln ohne den Wert zu verwenden Pain-maker PHP Tipps 2005-2 4 11.09.2005 17:28
Variable in Objekt php1 HTML, Usability und Barrierefreiheit 2 25.06.2005 08:08
Variable in DB Datenbanken 1 17.04.2005 15:01
Variable in Variable Matthiasnet PHP Tipps 2005 6 20.03.2005 23:28
If variable $1 vorhanden dann nimm die, if variable $2 .... PHP Tipps 2005 8 13.02.2005 20:16
Variable in einer Variable Beatbox PHP Tipps 2005 7 15.01.2005 15:55
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
[Erledigt] $_SESSION verwandelt variable auf einem Server in ein Array PHP-Fortgeschrittene 2 16.12.2004 13:25
2 Schleifen durchlaufen PHP Tipps 2004 1 14.09.2004 14:33
variable Variablen requesten PHP Tipps 2004 5 08.06.2004 20:34


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum