Problem mit ID-Übergabe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit ID-Übergabe

    Hallo,

    ich bin grad ein dabei ein kleines Bestellsystem zu testen. Die Produkte werden dabei aus der Datenbank über product.php?id=xxxxxx abfragt und angezeigt. Soweit so gut, jetzt möchte ich aber beim Klick auf den Kaufen-Button einen bestimmen Eintrag in der Datenbank übergeben. Dazu soll aus der URL die ID ausgelesen werden um den Eintrag auch in der richtigen Tabelle zu machen. Da fängt das Problem an, die Details aus dem Formular werden per Post übertragen und die ID lässt sich dann iwie nicht mehr per GET herausfiltern, weshalb ich jetzt eine weitere input (hidden) erstellt habe in der die ID als value mit Übergeben wird an die Formularauswertung. Ich schätze aber mal, dass das wahnsinnig unelegant ist ;D

    Hier das Script:

    PHP-Code:
    <?php

    include("../config.php");


    if(
    $_POST)
    {
    $name $_POST["name"];
    $adresse $_POST["adresse"];
    $ip $_SERVER["REMOTE_ADDR"];
    $id $_POST["id"];



    $eintrag "INSERT INTO artikel_".$id." (name, adresse, ip) VALUES ('$name', '$adresse', '$ip')";
    $eintragen mysql_query($eintrag);
    echo 
    "bla blub eingetragen";
     


    }

    else {




    }


     
      
    ?>


    <form action="<?php print $_SERVER['PHP_SELF'];?>" method="post">                
    <input type="text" size="17" name="name" class="text"> 
    <input type="hidden" size="17" name="id" value="<?php $id $_GET["id"]; echo "$id"?>">
    <input type="submit" value="BIETEN" class="submit"> </br /> <input type="reset" value="clear" class="clear">

      </form>
    Das ist meiner Meinung nach eben nur eine Notlösung. Wenn man aber nach dem if($POST) bei den anderen Variablen $id = _GET["id"]; mit einträgt dann funktioniert das Ganze nicht. Hat wer eine Lösung?

    Mfg
    Thomas

  • #2
    Hallo,

    das mit dem input-hidden-Element ist an und für sich okay und imho die einzige Lösung, wenn man nicht mit AJAX oder Sessions arbeiten will/kann/soll.

    Was du jetzt ganz am Ende meinst, ist nicht ganz klar geworden. Wird die Seite per GET aufgerufen, steht die ID in $_GET["id"], wird sie mit POST aufgerufen, in $_POST["id"]. Wenn das Formular unten in beiden Fällen angezeigt werden soll, nimm einfach $_REQUEST["id"], das ist unabhängig von der Anfragemethode, also praktisch die Vereinigungsmenge von $_GET und $_POST.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Natürlich kannst du die ID nicht aus $_GET auslesen, wenn du sie nicht per GET übergibst. Und mit der Formular-action, die du angegeben hast, machst du das nicht.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        OffTopic:
        BTW: SQL-Injections sind unelegant. Bitte mal drüber informieren.

        Kommentar

        Lädt...
        X