IPB

Willkommen, Gast ( Anmelden | Registrierung )

3 Seiten V   1 2 3 >  
Reply to this topicStart new topic
> Erste Gehversuche PHP - Variablenübergabe klappt nicht
Gast_Tom._*
Beitrag 02.01.2004 - 14:25
Beitrag #1





Gäste






Hallo Gemeinde

in den letzten Tagen habe ich EVO2 gezündet :wink:

Soll heissen, dass ich mich nun mit PHP auseinandersetze. Ich habe:

Apache
PHP Version 4.0.4pl1
System Windows 95/98 4.10
Server API Apache
phpMyAdmin 2.4.0
MySQL 3.23.58 auf localhost

...soweit so gut! Läuft alles und ich bin zufrieden biggrin.gif

Meine ersten Scripte laufen auch und funktionieren.

Jetzt habe ich erstmalig versucht eine Variable zu übergeben und das klappt nicht?! :?

Hier mein Versuch:

<html>
<head>
<title>welcome.html</title>
</head>
<body>

<a href="welcome.php?name=Kevin" title="">Hallo, ich bin Kevin!</a>

</body>
</html>
-----------------------------------------------
Browseraufruf echo = Hallo, ich bin Kevin! // Link-Weiterleitung ist ok!
-----------------------------------------------

<html>
<head>
<title>welcome.php</title>
</head>
<body>

<?php
echo ("Willkommen auf unserer Website, $name!");
?>

</body>
</html>

---------------------------------------------
Browseraufruf echo = Willkommen auf unserer Website, ! // $name wird nicht übergeben?! Warum nicht?
---------------------------------------------
Go to the top of the page
 
+Quote Post
Auge
Beitrag 02.01.2004 - 14:54
Beitrag #2


Anwärter auf W3.org Mitgliedschaft
*****

Gruppe: User
Beiträge: 550
Mitglied seit: 28.11.2001
Wohnort: Berlin Friedrichshain
Mitglieds-Nr.: 107



Hallo

ZITAT
PHP Version 4.0.4pl1
Das ist ja steinalt! wink.gif
Aktuell: 4.3x

ZITAT
<?php
echo ("Willkommen auf unserer Website, $name!");
?>


Das sollte eigentlich funktionieren. Allerdings ist echo keine Funktion.
Lasse mal die Klammern weg. Vielleicht klappt es ja dann.
(Mit den Eigenheiten der frühen PHP 4 Versionen bin ich nicht vertraut.)

Also:
echo "Willkommen auf unserer Website, $name!";

Noch besser für die Lesbarkeit des Codes (Syntaxhighlightning):
echo "Willkommen auf unserer Website, ".$name."!";

Tschö, Auge
Go to the top of the page
 
+Quote Post
Gast_Tom._*
Beitrag 02.01.2004 - 16:47
Beitrag #3





Gäste






ZITAT
PHP Version 4.0.4pl1
Das ist ja steinalt! wink.gif
Aktuell: 4.3x?>
Hi, wie du der Überschrift entnehmen kannst "Erste Gehversuche..." daher dürfte die Version wohl nicht soo wichtig sein, oder?!

Ausserdem habe ich einfach streng nach http://www.isgb.de/wamp/ installiert! Was soll man anderes machen, wenn man auf andere angewiesen ist?!

Ich bin erstmal froh, dass das jetzt so alles läuft und ich erste Scripte ausprobieren kann! Der Rest kommt 'step by step'.


ZITAT
".$name."!";


...klappt leider auch nicht.
Go to the top of the page
 
+Quote Post
i.b.g
Beitrag 02.01.2004 - 16:58
Beitrag #4


Weiss zuviel!!
Gruppensymbol

Gruppe: Mods
Beiträge: 668
Mitglied seit: 19.04.2002
Wohnort: Grimmen
Mitglieds-Nr.: 385



Hallo,

also ich mach zwar kein PHP - sondern Perl - jedoch, wenn $name weder initialisiert wird noch einen Wert zugewiesen bekommt, könnte darin der Grund liegen. $name ist nach dem Code-Schnipsel jedenfalls nicht existent.
:? War's das?
Go to the top of the page
 
+Quote Post
Gast_Tom._*
Beitrag 02.01.2004 - 17:04
Beitrag #5





Gäste






Die Wertzuweisung erfolgt doch oben...?!

<a href="welcome.php?name=Kevin" title="">Hallo, ich bin Kevin!</a>

echo ("Willkommen auf unserer Website, $name!");

:?
Go to the top of the page
 
+Quote Post
i.b.g
Beitrag 02.01.2004 - 17:27
Beitrag #6


Weiss zuviel!!
Gruppensymbol

Gruppe: Mods
Beiträge: 668
Mitglied seit: 19.04.2002
Wohnort: Grimmen
Mitglieds-Nr.: 385



[edit]
Hi,

eben nicht. Variablen haben keine Dateiübergreifende Gültigkeit.

Du übergibts an welcom.php einen Wert (eine Zeichenkette) mit den Methoden POST oder GET (hängt von der Grundkonfiguration des Servers ab), die erst noch aufgeschlossen werden muss. $name ist dem PHP erst bekannt, wenn der Wert, der aus dem Link kommt auch ausgwertet und zugewiesen wird. Es gibt die Umgebungsvariable QUERY_STRING. Die kann mit Hilfe der Funktion get_env oder ähnlich ausgewertet werden. Ich glaub nicht, dass das viel anders ist als bei Perl, denn die CGI-Regeln gelten hier sicher genauso. Ob es bei PHP ein CGI-Modul gibt, das einem diese Arbeit mit wenigen Befehlen abnimmt, wie es bei Perl existiert weiß ich nicht (bei SelfPHP hab ich auf den ersten Blick nichts gefunden).
[edit]
Go to the top of the page
 
+Quote Post
Auge
Beitrag 02.01.2004 - 19:44
Beitrag #7


Anwärter auf W3.org Mitgliedschaft
*****

Gruppe: User
Beiträge: 550
Mitglied seit: 28.11.2001
Wohnort: Berlin Friedrichshain
Mitglieds-Nr.: 107



Hallo

ZITAT
Variablen haben keine Dateiübergreifende Gültigkeit.


Je nach Einstellung in der php.ini schon! Das hängt u. A. von der
Einstellung register_globals ab.

Beim Wert on wird die Variable bei GET automatisch aus dem
URL-Parameter generiert, so wie Robin/Dakar/etc.p.p. es in seinem
Codestück beschrieb. Das ist unter Sicherheitsaspekten natürlich
ein Graus, zum Üben aber unerheblich (Man sollte natürlich nicht
vergessen, das bei Veröffentlichung zu ändern).
Wenn register_globals off ist, kann man nur noch mit globalen
Variablen auf die übergebenen Werte zugreifen. Aus name=Bla an
der URL wird $_GET["name"] im Empfängerskript. Und die ließe sich
auch in echo einbinden.

Tschö, Auge

nachtrag: Das globale Array $_GET gibt er erst seit Version
4.2, vorher (ab Version 4.0) gibt es das Array $HTTP_GET_VARS.
Go to the top of the page
 
+Quote Post
Gast_Tom._*
Beitrag 02.01.2004 - 20:06
Beitrag #8





Gäste






ZITAT
Robin/Dakar/etc.p.p.


Danke! Auge, vielen Dank! :roll:
Go to the top of the page
 
+Quote Post
Gast_Tom._*
Beitrag 02.01.2004 - 20:09
Beitrag #9





Gäste






ZITAT
Beim Wert on wird die Variable bei GET automatisch aus dem
URL-Parameter generiert.


...so ist`s bei mir.
Go to the top of the page
 
+Quote Post
Netizen
Beitrag 02.01.2004 - 22:20
Beitrag #10


Ausnahme Poster
*

Gruppe: User
Beiträge: 150
Mitglied seit: 24.10.2003
Wohnort: Berlin
Mitglieds-Nr.: 1.544



ZITAT
ZITAT
Beim Wert on wird die Variable bei GET automatisch aus dem
URL-Parameter generiert.


...so ist`s bei mir.

Gewöhne Dir trotzdem lieber heute als morgen an, auf Variablen, die von Benutzerseite auf den Server gesendet werden, grundsätzlich über die entsprechenden Arrays ($_GET, $_POST, $_COOKIE ...) zuzugreifen. Aktualisiere ggf. Deine PHP-Version, 4.0.x ist mehr als veraltet und enthält möglicherweise kritische Bugs.

register_globals kann eine fatale Sicherheitslücke darstellen und ist daher in aktuellen PHP-Versionen per default off.

Du solltest es lokal bei Dir in der php.ini abschalten und obendrein das error_reporting hochdrehen. Ein Skript, welches dann noch Warnungen ausgibt, sollte nicht ins Netz gestellt werden, ohne die Ursachen der Warnungen behoben zu haben.

Weiterhin empfehlenswert ist das Studium der FAQ der Newsgroups de.comp.lang.php.* (und ggf. auch die Newsgroups selbst).

Gruß
n!
Go to the top of the page
 
+Quote Post
Google Bot
Beitrag
Beitrag #


Google Ads









Go to the top of the page
 
Quote Post

3 Seiten V   1 2 3 >
Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 29.03.2024 - 0:20

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here