Webhilfe.info/board

Normale Version: PHP statt Frames (Problem)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi Leute,

ich habe in euren PHP Tutorials einen netten kleinen Script gefunden den ich als Frames Ersatz nutzen möchte. Eigentlich funktioniert das Script wunderbar allerdings wenn ich eine Seite mit einer GET Variable aufrufen möchte, z.B. news.php?mode=add, versucht er die Datei "news.php?mode=add" aufzurufen die es ja natürlich nicht gibt.
Wisst ihr eine Lösung damit nur die Datei news.php geöffnet wird und dann erst die Variable ausgeführt wird.

Thx im Voraus

Gruß Memorix
bist du dir denn sicher, das dein Server PHP unterstützt? Sowas darf eigentlich nur passieren, wenn PHP nicht installiert, bzw. deaktiviert ist.
Wie sieht denn deine news.php Datei aus?
Mein Server unterstützt 100%ig PHP. Es ist schließlich nicht der erste Script den ich schreibe/versuche... :roll:
Außerdem funktioniert das Script ja solange ich keine weitere Variable per GET weitergeben möchen....

@Virus
Meine Newsscript befindet sich noch in der Anfangsphase , deshalb kann ich bisher nur das vorzeigen...


PHP-Code:
<?
if($_GET[mode]= „„)
    {
    
?>
    <html>
    <head>
    <title>News eintragen</title>
    </head>
    <body>
    <form action=„news_add.php?mode=save“ method=„post“>
    <table>
        <tr>
            <td colspan=„2“>News eintragen</td>
        </tr>
        <tr>
            <td>Headline</td><td><input name=„headline“ type=„text“ size=„54“></td>
        </tr>
        <tr>
            <td>Veröffentlichung</td><td><input name=„publication“ type=„radio“ value=„1“ checked>Sofort
            <br>
            <input name=„publication“ type=„radio“ value=„2“>Am <input name=„publication_day“ type=„text“ size=„4“ maxlength=„2“> . <input name=„publication_mounth“ type=„text“ size=„4“ maxlength=„2“> . <input name=„publication_year“ type=„text“ size=„8“ maxlength=„4“> um <input name=„publication_hour“ type=„text“ size=„4“ maxlength=„2“> : <input name=„publication_minute“ type=„text“ size=„4“ maxlength=„2“> </td>
        </tr>
        <tr>
            <td>Nachicht</td><td><textarea name=„news“ cols=„50“ rows=„10“ wrap=„VIRTUAL“></textarea></td>
        </tr>
        <tr>
            <td colspan=„2“><center><input name=„reset“ type=„reset“ value=„Zur&uuml;cksetzen“>&nbsp;&nbsp;&nbsp;<input name=„submit“ type=„submit“ value=„Abschicken“></center></td>
        </tr>
    </table>
    </form>
    </body>
    </html>
    <?
    
}
else if(
$_GET[mode]= „save“)
    {
    
$eintrag „INSERT INTO news (headlinepublicationtextVALUES ('$_POST[headline]''$_POST[publication]'$_POST[text)“;
    
mysql_query($eintrag);
    
?>
    <html><center><h2>Die News wurden eingetragen</h2></center></html>
    <?
}
?>

Aber mit der News Datei dürfte das aber eigentlich ziemlich wenig zutun haben weil der Frames Script ja unterscheiden muss welcher Teil der URL die zu öffnene Datei ist und welcher Teil eine zusätzliche GET Variable ist...

Gruß und dank an euch beide :thumbup:

Memorix
Also beim überfliegen von deinem Script habe ich keinen Fehler gefunden, aber du sagtest, sobald du eine weitere Var anhängst, klappts nicht mehr.
Das war mein allererster Fehler in PHP und ich habe ewig ne Lösung gesucht, vll ist es bei dir auch so, die erste variable wirt mit ? von dem Dateinamen getrennt, und alle folgenden mit &, hast du es so gemacht? oder alle Variablen mit einem ? angehängt, denn so würde der Server denken, bis zum letzten ? is der dateiname und dann kommt erst eine Variable.
Jetzt weiss ich wo mein Fehler lag...Wie du vermutet hast habe ich ? Anstatt & benutzt. Mrgreen

Dabei hätte ich doch nur mal in die Browserleiste schauen müssen wenn ein Topic öffne... ](*,)

Vielen Dank für deine Hilfe...PHP verzeiht halt gar nichts Wink

Gruß

Memorix
Also dino, ich glaubs nicht das du auch die anderen 2 Fehler nicht gesehen hast. Schau hier.

Zitat:if($_GET[mode] = "")
und
Zitat:else if($_GET[mode] = "save")

Ein einfaches = bedeutet in PHP eine Zuweisung, ein Vergleich wird mit den doppelten = Zeichen gemacht. Du überprüfst hier also nicht ob $_GET['mode'] gleich irgendwas ist sondern weißt dem $_GET['mode'] einen Wert zu.

PS: Schreib mal den Inhalt der Seite (also wenn mode="" ist und wenn mode=save ist) in extra Dateien und include die dann, ist übersichtlicher.
wie oben irgendwo geschrieben, ich hab den code nur kurz oben überflogen, weil ich weg musste, warscheinlich hab ich es deshalb nicht gesehen. Ich hoffe ihr könnt es mir verzeihen Wink
Ich weiß nicht ob man dir da jemals verzeihen kann. Smile
Referenz-URLs