Probleme mit variabeln übergabe

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

  • Probleme mit variabeln übergabe

    Ich habe schon im Forum geschaut jedoch da ich keine ahnung hatte nach was ich genau suchen sollte blieb es leider ergebnisslos

    Also ich Lese eine DB komplett aus und liste diese Untereinander auf.
    Bei jedem eintrag soll rechts zusätzlich noch die Funktion "Löschen" erscheinen.


    hier erst mal der quelltext:

    PHP-Code:
    <?
    session_name("sid");
    session_start();
    require("portal_config.php");
    if($user_id)
    {
            if(isset($_POST['mode'])) $mode = $_POST['mode'];
            elseif(isset($_GET['mode'])) $mode = $_GET['mode'];
            else $mode = "";
            if(!isset($_POST['send'])) $_POST['send'] = "";
            if(!isset($error)) $error="";
    require "./admin/_data.inc.php";
           $result = $db_zugriff->query("SELECT * from dp_farm WHERE userid = '$user_id'");
           //$row = $db_zugriff->fetch_array($result);
           $eintraege = (mysql_num_rows($result));
     /*
    liste ausgeben
    */
            //for($i=1;$i<$eintraege;$i++)
            while ($row = mysql_fetch_array($result))
            {
     $id=$row[id];
    $farm .="<form name=\"form1\" method=\"post\" action=$PHP_Self>
      <table width=\"70%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
        <tr>
          <td width=\"95\">Koordinaten:</td>
          <td width=\"156\">$row[galaxy] - $row[ssystem] - $row[planet]</td>
          <td width=\"156\">
            <div align=\"center\"> </div>
          </td>
        </tr>
        <tr>
          <td width=\"95\">Allianz</td>
          <td width=\"156\">$row[allianz]</td>
          <td width=\"156\">
            <input type=\"submit\" name=\"update\" value=\"Update\">
          </td>
        </tr>
        <tr>
          <td width=\"95\">
            <p>Letzter Angriff: </p>
          </td>
          <td width=\"156\">&nbsp;</td>
          <td width=\"156\">
            <div align=\"center\"></div>
          </td>
        </tr>
        <tr>
          <td width=\"95\">Vermerk:</td>
          <td width=\"156\">$row[vermerk]</td>
          <td width=\"156\">
            <input type=\"submit\" name=\"loeschen\" value=\"Loeschen\">
          </td>
        </tr>
      </table>
    </form>
    <hr><br>";
                      }
    /*
    Neuen Eintrag in Datenbank eintragen
    */
                    {
                  if($_POST['Abschicken'] and $_POST['name']="Abschicken" )
                    {
                    $sql=$db_zugriff->query("Insert Into dp_farm 
    (userid, galaxy, ssystem, planet, allianz, vermerk) 
    Values ($user_id, '".$_POST'galaxy']."',
     '".$_POST['ssystem']."', '".$_POST['planet']."',
     '".$_POST["allianz"]."', '".$_POST['vermerk']."')");
                            mysql_db_query($mysqldb, $sql);
                             echo mysql_error();
                             }
             }
    /*
    Eintrag entfernen
    */
                    {
                  if($_POST['loeschen'] and $_POST['name']="loeschen" )
                   {
                    $sql=$db_zugriff->query("Delete from dp_farm WHERE id=$id");
                            mysql_db_query($mysqldb, $sql);
                             echo mysql_error();
                    }
            }


    eval("dooutput(\"".gettemplate("dp_farm")."\");");
    }
    ?>
    $id enthällt den wert des jeweiligen eintrags, jedoch wenn ich löschen drücke übergibt er immer die ID des letzten eintrages.
    Hab jetzt das WE drann gesessen und mir ist absolut keine Lösung eingefallen.
    Könnte mir jemand Helfen oder einen Ansatzpunkt geben wie ich da vorgehen muss ?

    thx: abraxas
    Den Wind kann man nicht ändern, aber die Segel richtig setzen.

  • #2
    was machst du denn da für einen blödsinn

    1. in while($row ...)
    belegst du $id mit einem wert, der im form nicht weiter verwendet wird, warum nicht?
    2. beim delete ist die letzte id bekannt ... kommt ja aus der while ^^ und die ersten werden ja überschrieben
    3. deine bedingungen sind hier *ähem*
    4. regeln nochmal überdenken? => wann soll was warum passieren?
    - laut vorsagen und dann umsetzen
    5. code besser formatieren
    Kissolino.com

    Kommentar


    • #3
      was machst du denn da für einen blödsinn
      das fasst das zusammen, was ich grad schreiben wollte ...
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        was machst du denn da für einen blödsinn

        1. in while($row ...)
        belegst du $id mit einem wert, der im form nicht weiter verwendet wird, warum nicht?
        2. beim delete ist die letzte id bekannt ... kommt ja aus der while ^^ und die ersten werden ja überschrieben
        3. deine bedingungen sind hier *ähem*
        4. regeln nochmal überdenken? => wann soll was warum passieren?
        - laut vorsagen und dann umsetzen
        5. code besser formatieren
        Öhm naja ich "versuche" auf die schnell eine erweiterung in ein bestehendes Forum einzubauen

        1. Ich schieb die schon die ganze Zeit hin und her ich weis einfach nicht wie ich das ganze überhaupt angehen soll :-/

        eigentlich möchte ich "nur" das die werte ausgelesen werden (funktioniert ja) und neben jedem eintrag soll ein löschen button erscheinen.
        Da möchte ich draufdrücken und er eintrag soll entfernt werden .
        Den Wind kann man nicht ändern, aber die Segel richtig setzen.

        Kommentar


        • #5
          dann musst du auch 'nur' die ausgabe 'in' der schleife machen.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            OffTopic:

            @Abraxas dein nick is verwirrend, du unterscheidest dich vom grossen meister nur durch ein s am ende :-)

            Kommentar


            • #7
              Original geschrieben von lx-club
              OffTopic:

              @Abraxas dein nick is verwirrend, du unterscheidest dich vom grossen meister nur durch ein s am ende :-)

              OffTopic:
              dir ist schon klar, dass du bis zum knie im fettnapf stehst, oder
              Kissolino.com

              Kommentar


              • #8
                OffTopic:
                ich schlage vor: eine Woche banned zum Nachdenken. allein der Gedanke an einem Vergleich ist ja schon sträflich genug

                Kommentar


                • #9
                  dann musst du auch 'nur' die ausgabe 'in' der schleife machen.
                  öhm wie ?

                  Ich hab ja schon das problem das es template basierend ist und mir der Header mir laufend strich durch irgendwelche additionsformeln macht (anderes thema)

                  Ach ja ich versuche das ganze in mir ein noch unbekanntes forumsystem zu intigrieren.
                  Meine php kentnisse erweiter ich ja auch nur stk für stk in meiner Freizeit für kleine private sachen.

                  Das Thema mit dem Namen hatten wir doch schon mal.
                  Lässt sich ganz einfach unterscheiden ......

                  Abraxax beiträge regen zum nachdenken an und sind hilfreich

                  Abraxas (der schon länger registriert ist) beiträge regen zum kopfschütteln und haareraufen an
                  Den Wind kann man nicht ändern, aber die Segel richtig setzen.

                  Kommentar


                  • #10
                    1. du verwendest die gesendeten Var. gemischt mal mit $_POST mal ohne, das sieht übel aus beim Lesen deines Codes.
                    2. was soll denn die 2. Bedingung in if($_POST['loeschen'] and $_POST['name']="loeschen" ) bewirken? du hast in deiner Forms nirgends ein Feld namens "name" und ausserdem isset() ist hier vielleicht besser.
                    3. du brauchst beim Löschen eine ID, welche du nirgends in Form definiert/deklariert hast.

                    Mag ja sein dass du dich schon länger registriert hast, aber das Zusammenspiel HTML/PHP blickst du immer noch nicht durch.

                    Kommentar

                    Lädt...
                    X