php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.03.2005, 11:31  
Gast
 
Beiträge: n/a
Standard Variablen initialisieren

Habe folgende Frage, zu der ich leider nichts im Forum finden konnte:

Muss ich eine Variable (string) grundsätzlich mit "" initialisieren?
Ich benutze diese Variable in einem Formular. Wenn das Formular gesendet wurde wird die Variable mit der entsprechenden Post-Variable überschrieben,.
Wurde das Form. noch nicht gesendet bringt mir folgendes eine eine "Notice: Undefined variable" Meldung:

<input ... value="<?php echo $string ?>" />

Ist es nun wichtig die Variable zu initialisieren oder nur (übertrieben) guter Stil?

Gruß,
Sebastian
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.03.2005, 11:42  
Gast
 
Beiträge: n/a
Standard

Bevor du auf eine Variable zugreifst, sollte sie initalisiert sein. Denn überlege:
PHP-Code:
<?
    
echo $string;
?>
Was ist in dem Fall $string? Je nach Einstellung vom Error-Reporting ist PHP zwar so gnädig, das nicht anzumeckern, aber das ist vom Prinzip her einfach falsch.

Gruß
phpfan
 
Alt 13.03.2005, 12:02  
Gast
 
Beiträge: n/a
Standard

Ja, ich war/bin eben der Meinung, dass in PHP eine Variable grundsätzlich mit "" initalisiert wird. $string wäre also, wenn es denn nicht schon mal belegt wurde, leer ("").

Das würde dann einiges an Code sparen.
 
Alt 13.03.2005, 12:28  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
$string wäre also, wenn es denn nicht schon mal belegt wurde, leer
Nein, wenn $string noch nie zugewiesen wurde existiert $string auch nicht.

Beispiel:
PHP-Code:
<?php
error_reporting
(E_ALL); 
echo 
$foobar;
?>
Corvin ist offline  
Alt 13.03.2005, 12:29  
Gast
 
Beiträge: n/a
Standard

Wenn du tatsächlich error_reporting=E_ALL in der php.ini stehen hast, dann wird bei
PHP-Code:
<?
   
echo $string;
?>
die Meldung "Notice: Undefined variable: string in xxxxxx.php on line 2" kommen. Wenn nicht, ist error_reporting nicht auf E_ALL gestellt.

Gruß
phpfan

<edit>
@Corvin Gröning
stand da nichr gerade noch was anderes in deinem Beitrag?
</edit>
 
Alt 13.03.2005, 12:32  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
@Corvin Gröning
stand da nichr gerade noch was anderes in deinem Beitrag?
Jo, ich habe mich vertan .
Corvin ist offline  
Alt 13.03.2005, 12:36  
Gast
 
Beiträge: n/a
Standard

geht doch auch so

if(isset($string))
{
blablabla
}

lasse mich gerne eines besseren belehren.
 
Alt 13.03.2005, 12:43  
Gast
 
Beiträge: n/a
Standard

Natürlich geht das auch mit isset. Aber wenn du mehrere Variablen in dem Script brauchst, dann viel Spaß mit isset, da ist ein Initialisieren einfach besser.

Gruß
phpfan
 
Alt 13.03.2005, 12:50  
Gast
 
Beiträge: n/a
Standard

Jo, schon klar.
 
Alt 13.03.2005, 12:52  
Gast
 
Beiträge: n/a
Standard

Mir ist einfach aufgefallen, dass viele Tutorials zu Kontaktformularen auf diese verkürzte Weise arbeiten. Die Fehler-Meldung mit "Notice..." ist mir bekannt, sonst hätte ich ja nicht gefragt.

Eine gute Lösung könnte auch sein:

Code:
(!empty($_POST['string']))?$string = $_POST['string]:$string = "";
 
 


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
Klasse statt globaler Variablen ecomeback PHP-Fortgeschrittene 6 15.07.2008 16:30
Fehler bei Übergabe von Variablen aus MySQL in Firefox jensoweber Datenbanken 0 13.07.2008 13:14
Übergeben von Variablen an in PHP eingebundenes Perl-Script shredder01 PHP Tipps 2008 3 04.04.2008 09:25
Datei mit Variablen so includen, dass Variablen nutzbar? BartTheDevil89 PHP Tipps 2008 6 22.01.2008 20:57
Variablen von Funktionen außerhalb nutzen Wing PHP Tipps 2008 5 28.09.2007 17:05
unerklärliches Leeren von Variablen KuShi PHP Tipps 2007 2 08.07.2007 15:19
Teil einer Variablen mit einer Variablen ersetzen ? simsalabim PHP Tipps 2007 11 20.03.2007 20:36
Function und Variablen Quagga PHP Tipps 2006 2 11.08.2006 18:23
Variable aus Variablen zusammensetzen juhuwoorps PHP Tipps 2007 1 28.11.2005 21:50
[Erledigt] Viele Variablen initialisieren PHP-Fortgeschrittene 2 11.10.2005 11:45
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
[Erledigt] register globals off bei variablen Variablen... PHP Tipps 2005 4 25.01.2005 17:50
Existenz mehrerer Variablen prüfen PHP Tipps 2004 3 31.08.2004 14:30
Variablen per adresse übergeben rocco PHP Tipps 2004 7 24.07.2004 12:03
[Erledigt] Variablen trotz register_globals=on nur aus Skript zulassen PHP-Fortgeschrittene 3 15.07.2004 17:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php post initialisieren, php post variable initialisieren, php $_post initialisieren, php post initiieren, php $_post[] initialisieren, formular php initialisieren, $_post initialisieren, initialisieren $_post php, phph formular initialisieren, php post variablen übergeben initialisieren, spss string variable initialisieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:12 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.