MyBB.de Forum
[PHP]Syntax-Fehler - Weiß nicht weiter - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: [PHP]Syntax-Fehler - Weiß nicht weiter (/thread-14014.html)



[PHP]Syntax-Fehler - Weiß nicht weiter - Waluigi - 28.07.2009

Hallihallo,

Es geht um folgende Zeile:

PHP-Code:
function blaetterfunktion($seite,$maxseite,$url="index.php?site=newsarchiv".$HIER."",$anzahl=4,$get_name="newsarchiv")
{
...
}
... 

Ich möchte, da wo die Variable $url ist, hinter newsarchiv noch eine Variable anhängen. Ich hoffe mal ihr seht und könnt erahnen, was ich meine.

Die Variable $HIER wäre in dem Fall ja auch schon gesetzt.

Wäre sehr toll, wenn ihr mir helfen könntet.

Fehlermeldung:

Code:
Parse error: syntax error, unexpected '.', expecting ')'

MfG,
Waluigi


RE: [PHP]Syntax-Fehler - Weiß nicht weiter - bacarni - 28.07.2009

Hallo,
die "" hinter deinem $HIER sind zu viel.

PHP-Code:
function blaetterfunktion($seite$maxseite$url="index.php?site=newsarchiv".$HIER$anzahl=4$get_name="newsarchiv"

So würde ich es probieren. Hab es aber nicht getestet.


RE: [PHP]Syntax-Fehler - Weiß nicht weiter - Waluigi - 28.07.2009

Leider kommt dann folgende Fehlermeldung:

Code:
Parse error: syntax error, unexpected '.', expecting ')'

MfG,
Waluigi


RE: [PHP]Syntax-Fehler - Weiß nicht weiter - Megaleecher - 28.07.2009

Das wird höchst wahrscheinlich so gehen:

PHP-Code:
function blaetterfunktion($seite,$maxseite,$url="index.php?site=newsarchiv",$anzahl=4,$get_name="newsarchiv"$HIER="")
{
$url.=$HIER;
...


Das $HIER="" bedeutet nur, dass wenn die Variable nicht übergeben wird, dass sie leer ist.
Ansonsten steht der Wert drinnen.

MfG Megaleecher


RE: [PHP]Syntax-Fehler - Weiß nicht weiter - Zwoetzen - 29.07.2009

Veränderliche Zuweisungen in der Funktionsdeklaration (also speziell hier das Nutzen der Variablen $HIER) sind verboten, bei den default-Werten für die Parameter muss es sich um konstante Ausdrücke handeln (also zB nur ein einfacher String, wie Megaleecher schon andeutete).

Wenn du nun wirklich das $HIER mit als default-Wert haben willst, kannst du die Zuweisung "nachträglich" vornehmen:
PHP-Code:
function blaetterfunktion($seite$maxseite$url="default"$anzahl=4$get_name="newsarchiv")
{
    global 
$HIER// Damit der Wert von $HIER auch innerhalb der Funktion sichtbar wird
    
if ($url == 'default')
    {
        
$url "index.php?site=newsarchiv".$HIER;
    }

wobei für "default" ein Wert gewählt werden sollte, der niemals für $url angegeben werden wird (oder zum Beispiel ein leerer String). Entsprechend dann die if-Bedingung anpassen.