21.04.2007, 14:27
Mich auch xD!
|
echo problem
|
|
21.04.2007, 14:27
Mich auch xD!
22.04.2007, 12:57
(Dieser Beitrag wurde zuletzt bearbeitet: 22.04.2007, 13:09 von Jack Sparrow.)
PHP-Code: <?
$menu = array(array("Startseite", "Guestbook"),
array("about me","meng Klass","Friends"),
array("Error","lol")
);
$anzahl = array(count($menu[0]),count($menu[1]),count($menu[2])
);
function div1() {
if ($i = 0) {
echo "<div>";
}
}
function div2() {
if ($i = $anzahl[$a]) {
echo "</div>";
}
}
?>
<html>
<body>
<?
for ($a=0; !empty($menu[$a]); $a++)
{
for ($i = 0; $i < $anzahl[$a]; $i++)
{
div1();
echo "<a class=\"menu\" href=\"startseit.php?page=".$menu[$a][$i]."\">".$menu[$a][$i]."</a><br>";
echo "\n";
div2();
}
}
?>
</body>
</html>
Kann mir jemand sagen was ich falsch mache? Es erscheint beim Aufruf folgende Fehlermeldung Code: Parse error: syntax error, unexpected $end in /usr/export/www/vhosts/funnetwork/hosting/jeffw/homepage/sfd.php on line 32
22.04.2007, 13:02
Im ersten PHP-Block machst du drei geschweifte Klammern auf, schließt aber nur zwei.
Gruß, Michael ![]() Bitte gelöste Themen als "erledigt" markieren. Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
22.04.2007, 13:10
Danke, habe es verbessert die links werden auch richtig angezeigt doch die divfunktionen wollen nicht funtzen. Im Quelltext werden keine div elemente angezeigt.
22.04.2007, 13:14
Ersetze
PHP-Code: function div1() {
if ($i = 0) {
echo "<div>";
}
}
function div2() {
if ($i = $anzahl[$a]) {
echo "</div>";
}
}
PHP-Code: function div1() {
global $i;
if ($i == 0) {
echo "<div>";
}
}
function div2() {
global $i, $anzahl;
if ($i == $anzahl[$a]) {
echo "</div>";
}
}
Gruß, Michael ![]() Bitte gelöste Themen als "erledigt" markieren. Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Die Funktionen müssen die variablen global lesen:
PHP-Code: function div1() {
global $i;
if ($i = 0) {
echo "<div>";
}
}
function div2() {
global $i, $anzahl, $a;
if ($i = $anzahl[$a]) {
echo "</div>";
}
}
Aber warum willst du unbedingt dein "div" über eine Funktion ausgeben lassen? Ich habe zudem nur folgende Ausgabe, die glaube ich nicht ist was du willst: Code: 13:19 dhcppc3:~/phpprojekt > php index.php
<a class="menu" href="startseit.php?page=Startseite">Startseite</a><br>
</div><a class="menu" href="startseit.php?page=about me">about me</a><br>
</div><a class="menu" href="startseit.php?page=Error">Error</a><br>Edit: So brauchst du die Funktion garnicht, und bekommst eine Ausgabe wie du sie möchtest. PHP-Code: for ($a=0; !empty($menu[$a]); $a++)
{
echo "\n<div>\n";
for ($i = 0; $i < $anzahl[$a]; $i++)
{
echo "<a class=\"menu\" href=\"startseit.php?page=".$menu[$a][$i]."\">".$menu[$a][$i]."</a><br>";
echo "\n";
}
echo "\n</div>\n";
}
Edit2: Und so kannst du es mit der Funktion machen: PHP-Code: function div1() {
echo "<div>\n";
}
function div2() {
echo "</div>\n";
}
for ($a=0; !empty($menu[$a]); $a++)
{
div1();
for ($i = 0; $i < $anzahl[$a]; $i++)
{
echo "<a class=\"menu\" href=\"startseit.php?page=".$menu[$a][$i]."\">".$menu[$a][$i]."</a><br>";
echo "\n";
}
div2();
}
Code: 13:37 dhcppc3:~/phpprojekt > php index.php
<div>
<a class="menu" href="startseit.php?page=Startseite">Startseite</a><br>
<a class="menu" href="startseit.php?page=Guestbook">Guestbook</a><br>
</div>
<div>
<a class="menu" href="startseit.php?page=about me">about me</a><br>
<a class="menu" href="startseit.php?page=meng Klass">meng Klass</a><br>
<a class="menu" href="startseit.php?page=Friends">Friends</a><br>
</div>
<div>
<a class="menu" href="startseit.php?page=Error">Error</a><br>
<a class="menu" href="startseit.php?page=lol">lol</a><br>
</div>
22.04.2007, 14:07
Die ersten div elemte werden richtig gesetzt, die zweiten nicht. Ich habe die divcontainer eingefärbt. klick
Ps: Was bewirkt die Funktion global?
Global bewirkt, das er die variable in einem Globalen zusammenhang sucht. Variablen sind normalerweise nur lokal verfügbar. das heißt, eine Funktion kann keine variablen lesen, die du irgendwo definiert hast, es sei denn in der funktion selber. Mit global kann er auch die anderen lesen.
Siehe auch hier: http://de.php.net/global Benutzt doch diesen Code: PHP-Code: function div1() {
echo "<div>\n";
}
function div2() {
echo "</div>\n";
}
for ($a=0; !empty($menu[$a]); $a++)
{
div1();
for ($i = 0; $i < $anzahl[$a]; $i++)
{
echo "<a class=\"menu\" href=\"startseit.php?page=".$menu[$a][$i]."\">".$menu[$a][$i]."</a><br>";
echo "\n";
}
div2();
}
22.04.2007, 14:49
Ok danke vielmals.
|
|
|