problem mit GET?

  • hallo.
    ich arbeite gerade an einer löschfunktion und da hab ich ein problem :)

    mein delete link sieht so aus:

    Code
    [url='<?=$_SERVER['PHP_SELF']?>&action=delete&id=<?=$row['id']?>']löschen[/url]


    und die löschfunktion (in der gleichen datei):

    Code
    if ($_GET['action'] == 'delete') {
                mysql_query ("DELETE FROM beitraege WHERE id = ".$_GET['id']."");
        }


    ich bekomme einfach ein error 404 - also seite nicht gefunden usw.
    was mach ich falsch :roll: :?:


    danke schonmal
    so long - phore

  • arg - jetzt kommt zwar kein 404 mehr aber es macht trotzdem nichts.
    ich werde einfach auf die startseite weitergeleitet weil es eine ungültige url ist*. irgendwie funzt das GET nicht... :?

    *

    Code
    switch($show)  
    {
    case "root":
    default:  
    include("tpl/index.php");  
    break;
  • schau mal da ist dein fehler so muss es aussehne

    [php:1:2f8a022fca]<?php
    switch($show)
    {
    // wenn show=root ist wird ne seite included !
    case root: // p.s. wenn es so sein sollte das du mit show die jeweilige seite in der mitte includest
    include("seite für root"); // würde ich es so schreiben: $_REQUEST['show']
    break;

    default:
    include("tpl/index.php"); // bei default kommt kein break mehr hin
    }
    ?>[/php:1:2f8a022fca]

    Gruß crAzywuLf :D

  • so früh auf :)?
    danke für deine hilfe - der fehler liegt aber wohl leider nicht daran..
    es will einfach nicht klappen :?

    [php:1:417d2caae8]<? if ($_GET['action'] == 'delete') {
    mysql_query ("DELETE * FROM news WHERE id = ".$_GET['id']."");
    } ?>[/php:1:417d2caae8]

    also ich sehe keinen fehler...?
    der link sollte doch stimmen - wenn ich den link pfad ansehe dann klappt das mit der id. vielleicht sollte ich den delete befehl mal an eine weitere seite weiterleiten? also anstatt <?=$_SERVER['PHP_SELF']?>


    so long - phore

  • nee wozu das, das währe holl.

    Ich kann dir sagen was es ist. mach mal ein echo mysql_error(); hinter dem query, dann sacht er dir sowas wie unexspected *


    mysql_query ("DELETE FROM `news` WHERE `id` = '{$_GET['id']}'; ");

    sollte etwas besser kommen. :-p

  • so - jetzt klappt es. ich musste den $_GET befehl in die index.php schreiben und nicht in die unterseite. das klappt zwar - aber ich hätte das lieber in der unterseite. geht das?

    das problem ist wohl dass die unterseite mit switch() includet ist.
    so long - phore

  • Wie gesagt, der Fehler leigt in deinem CODE, der irgent wie defeckt ist.

    Das $_GET ist eine super global und über alle inludes (sei den mittels URL), funtkionen und objelcte erhaben.

  • hm - also der fehler kann höchstens in der index.php liegen, da ich es in einer seperaten datei getestet habe..da geht es.

    [php:1:fff034add2]<?php
    $show = -1;

    if ($_GET['show'] != "") {
    $show = $_GET['show'];

    switch($show)
    {
    default:
    case "root":
    include("tpl/index.php");
    break;
    }
    usw.
    }
    ?>
    [/php:1:fff034add2]

    das ist der code der index...

  • ich tschegge gar nichts mehr :?
    mein code in der includeten datei (der code ist ganz oben im code..):
    [php:1:56ff363992]<?
    if ($_GET['action'] == 'edit') {
    echo "ja es funzt jetzt";
    }
    ?>[/php:1:56ff363992]

    und der link code (der stimmt so - es übergibt die id in den link):

    Code
    [url='<?=$_SERVER['PHP_SELF']?>?action=edit&id=<?=$row['id']?>']edit[/url]


    weiss wirklich niemand weiter? :roll:
    so long - phore

  • wenn du kein bock hast zu helfen oder nicht weisst was falsch ist dann schreib einfach nix... :roll:
    zwingt dich ja niemand.
    jeder fängt mal klein an - kann dir egal sein ob mein code perfekt ist oder nicht.

    so long - phore

  • nein aber du hast soo viele feheler in deinem code und idr kann man nicht hlefen da du imemr nur brocken postest undgleich viel zu groß an fängst.

    Das heist du bist anfänger der aller aller untersten stufe aber möchtest gleich grösere dinge probieren und läst dir nicht wirklich helfen.

  • 1. ich habe nicht sooo viele fehler in meinem code - er ist ja gar noch nicht so gross
    2. funktioniert alles prima ausser das get
    3. hab ich lange genug "kleine" sachen gemacht - ich hab nicht gestern mit php angefangen

    ausserdem kann ich ja wohl selber entscheiden was ich versuchen will.
    naja scheissegal mach ich es halt irgendwie anders.
    so long - phore