[PHP] Aktualisierung von Include Seiten

  • Hallo zusammen!

    Ich habe folgendes Problem. Ich verwende Switch und Include um Frames zu vermeiden, Switch und Include Befehle liegen in der index.php Datei. Dabei entsteht z.B. so ein Link, wenn eine Seite eingebunden wird:

    index.php?site=news

    Sobald ich aber wiederum Links von der oben genannten News Seite aufrufe, wird das Switch und Include Script von der Index Seite natürlich mir melden, dass es die Links gar nicht gibt:

    index.php?site=news?delete_id=3

    Da ich die Seite noch nicht in die Switch und Include in der index.php aufgenommen habe. Meine Frage ist, gibt es eine elegantere Lösung, um weitere Konflikte mit Links zu vermeiden?

  • Zitat


    index.php?site=news?delete_id=3

    Alle weiteren Parameter werden durch & Zeichen getrennt:

    Zitat


    index.php?site=news&delete_id=3

    Gruß crAzywuLf :D

  • WOW! Super schnelle Antworten hier!

    Ich denke ich melde mich gleich mal in diesem Forum an. Vielen Dank euch beiden!

  • Ich habe noch eine Frage bezüglich dem Aktualisieren. Nach dem Klicken auf den Löschlink, bleibt meine ID bestehen in der URL:

    ?site=news&delete_id=10

    Wie kann ich dieses "&delete_id=10" wieder entfernen, sobald ich auf den Löschlink gedrückt habe?

    In einem anderne Forum habe ich so etwas gesehen:

    Zitat

    <?php
    if(isset($_GET['x'])) {
    header("Location: http://adresse.de");
    exit();
    }
    ?> 


    Aber ich denke nicht, dass es Das ist was ich suche.

  • Entweder du lebst mit der URL oder du musst nach dem Löschen die Weiterleitung ausführen.

  • Also nach dem Ausführen des Löschvorgangs habe ich diesen Code eingefügt:

    Zitat


    mysql_query($delete_exe);
    ...
    header("Location: http://127.0.0.1");

    Es scheint aber irgendwie nichts zu geschehen nach dem Löschen.

    Einmal editiert, zuletzt von DR_HAMMER (13. August 2008 um 17:32)

  • 127.0.0.1 is dein localer pc, des weist schon, oder ?
    des funkt solang dus am pc hast, im i-net fliegst dann gewaltig auf die schnautze...

  • Jop, ich teste es gerade in der lokalen XAMPP Umgebung. Ich denke es liegt am Aufbau meines Codes..., bin totaler PHP Anfänger:

    5 Mal editiert, zuletzt von DR_HAMMER (13. August 2008 um 17:46)

  • Falls du noch ein paar Tipps haben möchtest ;)

    Rücke deinen Quellcode ein, sonst blickst du irgendwann nicht mehr durch.

    empty() prüft ob ein Wert leer ist. Das Ausrufezeichen davor verneint die If Abfrage also "Wenn x gleich nicht leer dann..."

    ctype_digit() prüft ob der Wert eine Zahl ist.

    mysql_escape_string() schützt vor SQL-Injections

    Gruß crAzywuLf :D

  • Vielen Dank crAzywuLf und https://www.forum-hilfe.de/member.php?u=1019The User!

    Ich werde noch viel lernen müssen ^^

    Was ich immer noch nicht verstehe ist, wieso bei mir die Weiterleitung nicht funktioniert.

    Der Löschlink lautet:
    http://127.0.0.1/projekt/index.…er&delete_id=32

    Wenn ich nun dadrauf drücke, sehe ich das Suchformular wieder im Ursprungszustand, aber meine Adressleiste heisst immer gleich wie der Löschlink.

    Ich habe vergessen zu erwähnen, dass die Suchseite per Include eingebunden wird, vielleicht liegt das Problem darin?. Also die komplette "search_and_edit_user.php" sieht so aus:

    Im Prinzip wird zuerst geprüft, ob ein Suchwert vorhanden ist. Wenn nicht, dann alle User anzeigen, ansonsten nur nach den gesuchten User anzeigen. Es gibt zwei Tabellen, in der Linken kommen die Suchergebnisse, beim rechten einen Löschlink, wo man die nicht benötigten Datensätze wieder löschen kann. Der Löschlink wird nur angezeigt, wenn die ID auch wirklich existiert, ansonsten einfach eine Ausgabe, dass die ID nicht gefunden wurde.

    Nur leider scheint dieses Script nicht genau das zu tun. Dies würde mir sehr helfen, PHP besser zu verstehen, wenn ich wüsste an was es liegen würde.

    Ich freue mich auf jede Hilfe oder Verbesserungsvorschlag und danke euch im Voraus!

    8 Mal editiert, zuletzt von DR_HAMMER (13. August 2008 um 22:25)

  • Wenn du die Seite per header(); ändern möchtest, darf noch nichts gesendet sein, sprich z.B. das Formular.
    Entweder du packst die IF Abfrage zur Löschung weiter nach oben oder du kannst auch eine Weiterleitung per HTML benutzen, die sähe dann so aus:

    PHP
    echo '<meta http-equiv="refresh" content="1; url='.$_SERVER['PHP_SELF'].'">';

    Gruß crAzywuLf :D

    2 Mal editiert, zuletzt von crAzywuLf (14. August 2008 um 09:00)

  • OK vielen Dank, habe es nun hingekriegt durch eure Hilfe!

    Nur noch die Weiterleitung funktioniert nicht richtig:

    PHP
    echo '<meta http-equiv="refresh" content="1; url='?site= . $_GET['site']'";>';



    Ausgabe: Parse error: syntax error, unexpected '=' in x:\xampp\htdocs\projekt\search_and_edit_user.php on line 34

    Wieso funktioniert das eigentlich nicht?

    EDIT: Verwende nun halt feste Links, hauptsache es geht...:

    PHP
    echo '<meta http-equiv="refresh" content="0; URL=index.php?site=search_and_edit_user">';



    Gruss & Danke
    DR_HAMMER

    Einmal editiert, zuletzt von DR_HAMMER (14. August 2008 um 16:39)


  • Vielleicht solltest du dich erstmal mit grundlegenden Sachen beschäftigen...
    http://tut.php-q.net/

    PHP
    <?php
      echo '<meta http-equiv="refresh" content="1; url=?site='.$_GET['site'].'";>';  
    ?>

    Gruß crAzywuLf :D