Problem mit verarbeiten von GET Variablen einer includeten Datei

metno

Erfahrenes Mitglied
Ich habe mir ein einfaches Gästebuchskript heruntergeladen. Anschliessend includete ich die Datei gb/index.php in die index.php. Das funktioniert auch soweit.
Um einen neuen Eintrag zu erstellen, wird dabei die Seite (gb/)gb.php?aktion=edit aufgerufen. Da ich aber meine Unterseiten in die index.php include und die gb/gb.php in gb/index.php umbenannt habe, änderte ich den Pfad in folgenden ab index.php?site=gb&aktion=edit.
Leider kommt die gb/index.php nicht an die aktion Variabel.

Hier einige Codefragmente:

index.php ($_GET['site'] wurde in die $site geschrieben, $siteurl ist der Root)
PHP:
        <?php

            include($siteurl[$site]);
        ?>

gb/index.php
PHP:
    echo"</td><td><a href=\"index.php?site=gb&aktion=edit\">neuer Beitrag</a></td><td>";
    if ($ende >= $gesamt)
        {
            echo"&nbsp;";
        }
    else
        {
             echo"<a href=\"index.php?site=gb&aktion=show&seite=".($seite+1)."\">weiter</a>";
        }    
    echo "</td></tr>";    
    echo"</table>";            
}

if ($aktion == "edit")
{
    echo"Neuer Beitrag schreiben :";
    echo"<form action=\"index.php?site=gb&aktion=insert\" method=\"post\">".
    "<table cellspacing=\"2\" cellpadding=\"2\" border=\"0\">".
        "<tr>".
                  "<td>Name : </td>".
                "<td><input type=\"text\" name=\"name\" size=\"30\" maxlength=\"50\"></td>".
        "</tr>".
        "<tr>".
                  "<td>eMail : </td>".
                "<td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"50\"></td>".
        "</tr>".
        "<tr>".
                "<td>Titel :</td>".
                "<td><input type=\"text\" name=\"titel\" size=\"30\" maxlength=\"100\"></td>".
        "</tr>".
        "<tr>".
                  "<td>Beitrag :</td>".
                  "<td><textarea cols=\"70\" rows=\"20\" name=\"beitrag\"></textarea></td>".
        "</tr>".
        "<tr>".
            "<td><input type=\"submit\" name=\"sub\" value=\"Eintragen\"></td>".
            "<td><input type=\"reset\" name=\"res\" value=\"Reset\"></td>".
        "</tr>".
    "</table>".
    "</form>";
}


Hoffe ihr könnt mir helfen.
 
Hallo Metno,
hatte das selbe Problem auch schon einmal. Es liegt darin, dass Du auf Deinem Rechner oder Webspace einer höhere PHP-Version als PHP4 hast. Ab soweit ich weiß PHP5 muss man, um an die $_GET-Variablen ranzukommen, sie auch erstmal herausholen, d.h.:

statt

Code:
if($aktion == "edit")
{
    // weitere anweisungen
}
....

schreibst du also

Code:
if($_GET['aktion'] == "edit")
{
// ......
}

oder speicherst vorher den Wert von $_GET['aktion'] in $aktion ($aktion = $_GET['aktion']).
Dann müsste alles einwandfrei klappen.

grüße
graffcon
 
Wie von graffcon schon gesagt,
das Script was du runtergeladen hast ist für eine Alte Php Version.

Hatte das Problem mal bei einem Turnierscript und durfte alle übergebenen Variablen wie folgt umwandeln.



PHP:
if ( $_GET['send'] != ''  ){
 $send = $_GET['send'] =;}



War eine Heidenarbeit, aber das Script musste ganz fix laufen und es muste genau das sein.

Würde dir empfehlen ein anderes Gästebuchscript zu verwenden.

MFG
Van
 
Da^nke für eure Antworten.
Mein Kollege sagte mir nun, dass es nicht funktioniert, wenn die Datei absolut includet wird. Also machte ich es relativ und siehe da es funktioniert :)
Wenn es aber wirklich eine alte PHP version ist, werde ich ein anderes Skript herunterladen.
 
Zurück