php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.03.2009, 20:22  
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  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.03.2009, 20:29  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
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  
Alt 02.03.2009, 20:31  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
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  
Alt 02.03.2009, 20:37  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

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

PHP-Code:
if(!empty($error))
        {
        global 
$error
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 02.03.2009, 20:51  
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  
Alt 02.03.2009, 21:02  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Blödsinn. Entweder sie ist global oder nicht. "Globalisieren" geht nicht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 02.03.2009, 21:09  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
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  
Alt 02.03.2009, 21:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
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.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--

Geändert von nikosch (02.03.2009 um 21:14 Uhr).
nikosch ist offline  
Alt 03.03.2009, 08:12  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
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  
Alt 03.03.2009, 09:24  
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  
 


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
[Erledigt] 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 +2. Es ist jetzt 18:25 Uhr.




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