arrays
Jonas
- php
ich habe erst gerade mit php programmierung angefangen darum für euch eine wahrscheinlich leichte frage zu den arrays.
ich habe ein problem. mein scrit lautet:
<?php
$sector = array ('main'=>'home.php', 'links'=>'links.php');
echo "$sector";
?>
alles was der echo jetzt ausspuckt ist: 'Array'. was mache ich falsch?
oder bei eineim ähnlichen script:
<?php
$sector = array ('main'=>'home.php', 'links'=>'links.php');
include ($sector);
?>
der querystring wird mit 'sector=main' ausgeführt. Der include() meldet aber er könne 'main' nicht includen.
auch ein $_GET($sector) funzt net.
weder google noch in diesem forum hab ich was gefunden, ich hoffe ihr könnt mir helfen.
grüsse
jonas
hi,
<?php
$sector = array ('main'=>'home.php', 'links'=>'links.php');
echo "$sector";
?>
alles was der echo jetzt ausspuckt ist: 'Array'.
na logisch. $sector _ist_ ja auch ein array.
wie greift man auf einzelne array-werte zu? über den index natürlich, also hier z.b.
echo $sector['main'];
echo $sector['links'];
wenn du alle werte aus dem array ausgeben willst, dann durchlaufe es mit foreach() oder so.
oder schreibe
print_r($sector);
um alle werte aufgelistet zu bekommen.
gruss,
wahsaga
Hallo,
alles was der echo jetzt ausspuckt ist: 'Array'. was mache ich falsch?
Du probierst das komplette einfach nur mit Echo Array auszugeben - das geht nicht.
Schreib stattdessen:
echo $sector['main'];
Oder lass dir das ganze Array mit einer Schleife anzeigen:
foreach($sector as $key=>$elem)
{
echo $key." ".$elem;
}
cu Benedikt Loepp
Hallo!
ich habe erst gerade mit php programmierung angefangen darum für euch eine wahrscheinlich leichte frage zu den arrays.
Hast Du folgendes gelesen:
http://de3.php.net/manual/de/language.types.array.php
http://php-faq.de/ch/ch-arrays.html
?
<?php
$sector = array ('main'=>'home.php', 'links'=>'links.php');
echo "$sector";
?>
Was genau willst Du erreichen? Auf 'main' greifst Du über $sector['main'] zu.
alles was der echo jetzt ausspuckt ist: 'Array'. was mache ich falsch?
Du kannst einen Array nicht mit echo ausgeben. Verwende print_r($sector)
<?php
$sector = array ('main'=>'home.php', 'links'=>'links.php');
include ($sector);
?>
Was willst Du einbinden? home.php oder links.php oder beides?
Wie gesagt greifst Du mit $sector['main'] auf "home.php" zu, also kannst Du mit
include($sector['main']) die Datei "home.php" einbinden. Entsprechendes gilt für das Element 'links'.
der querystring wird mit 'sector=main' ausgeführt. Der include() meldet aber er könne 'main' nicht includen.
Tut er das? Wie genau lautet die Fehlermeldung und wo kommt die her?
auch ein $_GET($sector) funzt net.
Wenn Du beim URL-Parameter 'sector=main' die Datei "home.php" einbinden willst, dann musst Du das so machen:
include($_GET['sector'])
$_GET ist ein Array mit den Parameternamen aus dem GET-Requst als Elementnamen, und den entsprecehenden Parameterwerten als Wert.
Siehe: http://de3.php.net/manual/en/reserved.variables.php#reserved.variables.get
ABER: Sowas sollte man niemals nie machen! Denn so kan jemand in der URL eine eigenes Script als Parameterwert für section angeben, und dann führst Du fremden PHP-Code auf Deinem Server aus, und damit kann man ne Menge böse Dinge anstellen!
weder google noch in diesem forum hab ich was gefunden, ich hoffe ihr könnt mir helfen.
Du solltest neben google auch und vor allem auf folgenden Seiten nach Lösungen suchen:
http://de3.php.net/manual/de/
http://php-faq.de/index.html
also mal genauer ansehen und bookmarken, fürs nächste mal ;-)
Grüße,
Andreas
hi,
ABER: Sowas sollte man niemals nie machen! Denn so kan jemand in der URL eine eigenes Script als Parameterwert für section angeben, und dann führst Du fremden PHP-Code auf Deinem Server aus, und damit kann man ne Menge böse Dinge anstellen!
nein, nicht wenn die werte, wie im beispiel, aus einem von ihm selbst definierten array kommen.
gruss,
wahsaga
Hi!
nein, nicht wenn die werte, wie im beispiel, aus einem von ihm selbst definierten array kommen.
Hast vollkommen Recht. Sorry für die Verwirrung ;-)
Grüße
Andreas
hi,
Hast vollkommen Recht. Sorry für die Verwirrung ;-)
aber generell hast du natürlich recht, dass man an solchen stellen nicht vorsichtig genug sein kann.
wenn man sieht, wie locker manche leute clientseitig übergebene werte behandeln, weiss man oft nicht, ob man lachen oder weinen soll ...
gruss,
wahsaga
Hallo,
solange man selber nicht die folgen trägt würd ich sagen lachen *g*
cu Benedikt Loepp