PHP und Mysql UPDATE komplett unlogisch

  • Also ich verzweifle gerade

    Folgende Tabelle in der Mysql Datenbank

    id tag von bis jahreszeit status strposi
    1 Montag bis Freitag 10:00 22:00 winter offen 1
    2 Samstag, Sonntag 10:00 14:00 winter offen 2
    3 Montag, Mittwoch 14:00 22:00 sommer offen 1
    4 Dienstag, Donnerstag 14:00 22:00 sommer offen 2
    5 Freitag 10:00 21:00 sommer offen 3
    6 Samstag 10:00 14:00 sommer offen 4
    7 Sonntag 00:00 00:00 sommer geschlossen 5

    ( id 1 = strposi 1 )
    ( id 2 = strposi 2 )
    ( id 3 = strposi 1 )
    ( id 4 = strposi 2 )
    ( id 5 = strposi 3 )
    ( id 6 = strposi 4 )
    ( id 7 = strposi 5 )

    alle felder sind strings außer ID = integer(255) mit auto increment

    ich will damit bezwecken das ich die positionierungen der Texte verändern kann , als Abfrage zum ausgeben der Tabelle folgender Code

    echo "
    <table border=1 cellspacing=0 cellpadding=0 style=\"width:400px;\">
    <tr>
    <td>Tag(e):</td><td>Von</td><td>Bis</td><td style=\"width:50px;\">Position</td><td style=\"width:125px;\">Optionen:</td>
    </tr>
    ";
    $sql = Mysql_query("SELECT * FROM zeiten WHERE jahreszeit = 'Sommer' order by strposi");
    while($get = Mysql_fetch_object($sql)){
    echo "
    <tr>
    <td>$get->tag</td>
    <td>$get->von</td>
    <td>$get->bis</td>
    <td align='center'><a href=\"?page=zeiten&action=pos&id=".$get->id."&to=up&zeit=sommer\"><img src=\"images/arror_up.gif\" width=\"11\" height=\"11\" border=\"0\" alt=\"\"></a><a href=\"?page=zeiten&action=pos&id=".$get->id."&to=down&zeit=sommer\"><img src=\"images/arror_down.gif\" width=\"11\" height=\"11\" border=\"0\" alt=\"\"></a></td>
    <td>Editieren | Löschen</td>
    </tr>
    ";
    }
    echo "</table>

    ";

    So nun zu meinem "update" code

    if($action == "pos"){

    // Hier werden erstmal alle erstellen variablen die nicht übergeben werden müssen leer gesetzt und zerstört
    $strr = ""; unset($strr);
    $strr_id = ""; unset($strr_id);
    $strold = ""; unset($strold);
    $sql = ""; unset($sql);
    $sqll = ""; unset($sqll);
    $sqlll = ""; unset($sqlll);
    $sqllll = ""; unset($sqllll);
    $get = ""; unset($get);
    $gett = ""; unset($gett);

    // Hier wird die aktuelle Position der übergeben ID ermittelt und ein ( für testzwecke ) alle infos herausgeholt

    $sql = Mysql_query("SELECT * FROM zeiten WHERE id = '$id'");
    while($get = Mysql_fetch_object($sql)){$strold = $get->strposi; $strold_name = $get->tag;$str_old = $get->strposi;}

    // wenn nun die variable $to = up ist ( um den text nach oben zu holen ) wird in $strr die aktuelle position - 1 genommen, damits ne kleinere zahlt halt wird is ja klar, anders rum bei down wirds + 1 genommen


    if($to == "up"){$strr = $strold - 1;}else if($to == "down"){$strr = $strold + 1;}

    //Hier wird nun nach der id geschaut wo die position, die neue Position der alten id ist.

    // kleines beispiel id 5 hat position 4 , nun wird geschaut position 4 hat id 6


    // es werden auch hier für testzwecke alle daten ausgelesen

    $sqll = Mysql_query("SELECT * FROM zeiten WHERE jahreszeit = '$zeit' AND strposi = '$strr'");
    while($gett = mysql_fetch_object($sqll)){$strr_id = $gett->id; $strr_name = $gett->tag;$strr_old = $gett->strposi;}

    //Kurzer debug ausgabe der mir sagt welche id hatte welchen wert und bekommt neuen wert und um welche richtung es sich handelt

    echo "
    String Move ID: $id ( $strold_name ) war $str_old -> wird zu: $strr

    String Move To: $to

    String Move ID: $strr_id ( $strr_name ) war $strr_old -> wird zu $strold

    ";

    /*
    Danach wird die DB geupdated sprich die alte id bekommt ihre neue position und die id mit der neuen position der alten id, bekommt die alte position der alten id :
    Sprich bei down wäre
    id 5 hatte position 4 und wird zu position 5
    id 6 hatte position 5 und wird zu position 4
    einfach nur umgedreht halt
    */

    $sqlll = Mysql_Query("Update zeiten set strposi = '$strr' WHERE id = '$id'");
    $sqllll = Mysql_Query("Update zeiten set strposi = '$strold' WHERE id = '$strr_id'");

    // Danach wird nochmal Debug informationen ausgeben WAS er nun eigentlich gemacht hat , da hier genau das steht was in der mysql_query anweisung steht MUSS er genau das machen was er dann auch ausgibt.

    echo "Update zeiten set strposi = '$strr' WHERE id = '$id'
    ";
    echo "Update zeiten set strposi = '$strold' WHERE id = '$strr_id'";

    }


    Eigentlich is ja alles simple denkt man so, mein problem besteht nun darin das er sowas macht wenn folgenden link aufrufe:

    ?action=pos&id=5&to=down&zeit=sommer

    Beispiel:

    DB vor ausführen der Datei ( script )

    id tag von bis jahreszeit status strposi
    1 Montag bis Freitag 10:00 22:00 winter offen 1
    2 Samstag, Sonntag 10:00 14:00 winter offen 2
    3 Montag, Mittwoch 14:00 22:00 sommer offen 1
    4 Dienstag, Donnerstag 14:00 22:00 sommer offen 2
    5 Freitag 10:00 21:00 sommer offen 3
    6 Samstag 10:00 14:00 sommer offen 4
    7 Sonntag 00:00 00:00 sommer geschlossen 5

    Script ausgabe durch echo ( Debug )

    String Move ID: 5 ( Freitag ) war 3 -> wird zu: 4
    String Move To: down
    String Move ID: 6 ( Samstag ) war 4 -> wird zu 3
    Update zeiten set strposi = '4' WHERE id = '5'
    Update zeiten set strposi = '3' WHERE id = '6'

    DB NACH ausführen des Scriptes

    id tag von bis jahreszeit status strposi
    1 Montag bis Freitag 10:00 22:00 winter offen 1
    2 Samstag, Sonntag 10:00 14:00 winter offen 2
    3 Montag, Mittwoch 14:00 22:00 sommer offen 1
    4 Dienstag, Donnerstag 14:00 22:00 sommer offen 2
    5 Freitag 10:00 21:00 sommer offen 5
    6 Samstag 10:00 14:00 sommer offen 3
    7 Sonntag 00:00 00:00 sommer geschlossen 4

    geändert wurden also :

    ID von strposi zu strposi
    5 3 5
    6 4 3
    7 5 4

    Er hat 3 Datensätze geändert OBWOHL ID überall eindeutig ist und er beim sql-update befehl nur die ID als abfrage punkt bekommt womit er nur die Möglichkeit hat immer nur 1 Datensatz pro Query zu ändern.

    Also in meinem Falle nur 2 Datensätze, ABER er macht3 oOoOoO

    Sorry aber hier hört meine Logik auf :(

    hoffe auf antwort.

  • ja da muss ich rocco recht geben, is zwar schön und gut dass du das so großartig umschreibst aber es ist ned wirklich leicht zu verstehen...
    ausserdem gewöhn dir an einrückungen zu machen dann wäre das alles auch viel einfacher zu lesen.

  • Ok dann halt bissl kleiner :P

    Also ich verzweifle gerade

    Ich will mit einem Script den text an eine andere stelle setzen , nach oben und nach unten.

    Folgende Tabelle in der Mysql Datenbank

    ( id 1 = strposi 1 )
    ( id 2 = strposi 2 )
    ( id 3 = strposi 1 )
    ( id 4 = strposi 2 )
    ( id 5 = strposi 3 )
    ( id 6 = strposi 4 )
    ( id 7 = strposi 5 )


    So nun zu meinem "update" code


    [php:1:0d038cba6a]
    <?
    if($action == "pos"){
    $strr = ""; unset($strr);
    $strr_id = ""; unset($strr_id);
    $strold = ""; unset($strold);
    $sql = ""; unset($sql);
    $sqll = ""; unset($sqll);
    $sqlll = ""; unset($sqlll);
    $sqllll = ""; unset($sqllll);
    $get = ""; unset($get);
    $gett = ""; unset($gett);

    $sql = Mysql_query("SELECT * FROM zeiten WHERE id = '$id'");
    while($get = Mysql_fetch_object($sql)){
    $strold = $get->strposi;
    $strold_name = $get->tag;
    $str_old = $get->strposi;
    }

    if($to == "up"){$strr = $strold - 1;}else if($to == "down"){$strr = $strold + 1;}

    $sqll = Mysql_query("SELECT * FROM zeiten WHERE jahreszeit = '$zeit' AND strposi = '$strr'");
    while($gett = mysql_fetch_object($sqll)){
    $strr_id = $gett->id;
    $strr_name = $gett->tag;
    $strr_old = $gett->strposi;
    }

    echo "
    String Move ID: $id ( $strold_name ) war $str_old -> wird zu: $strr

    String Move To: $to

    String Move ID: $strr_id ( $strr_name ) war $strr_old -> wird zu $strold

    ";

    $sqlll = Mysql_Query("Update zeiten set strposi = '$strr' WHERE id = '$id'");
    $sqllll = Mysql_Query("Update zeiten set strposi = '$strold' WHERE id = '$strr_id'");

    echo "Update zeiten set strposi = '$strr' WHERE id = '$id'
    ";
    echo "Update zeiten set strposi = '$strold' WHERE id = '$strr_id'";

    }
    ?>
    [/php:1:0d038cba6a]

    Eigentlich is ja alles simple denkt man so, mein problem besteht nun darin das er sowas macht wenn folgenden link aufrufe:

    ?action=pos&id=5&to=down&zeit=sommer

    Beispiel:

    DB vor ausführen der Datei ( script )

    ( id 1 = strposi 1 )
    ( id 2 = strposi 2 )
    ( id 3 = strposi 1 )
    ( id 4 = strposi 2 )
    ( id 5 = strposi 3 )
    ( id 6 = strposi 4 )
    ( id 7 = strposi 5 )

    Script ausgabe durch echo ( Debug )

    String Move ID: 5 ( Freitag ) war 3 -> wird zu: 4
    String Move To: down
    String Move ID: 6 ( Samstag ) war 4 -> wird zu 3
    Update zeiten set strposi = '4' WHERE id = '5'
    Update zeiten set strposi = '3' WHERE id = '6'

    DB NACH ausführen des Scriptes

    ( id 1 = strposi 1 )
    ( id 2 = strposi 2 )
    ( id 3 = strposi 1 )
    ( id 4 = strposi 2 )
    ( id 5 = strposi 5 )
    ( id 6 = strposi 3 )
    ( id 7 = strposi 4 )

    geändert wurden also :

    ID--------von strposi------zu strposi
    5---------3----------------5
    6---------4----------------3
    7---------5----------------4

    Er hat 3 Datensätze geändert OBWOHL ID überall eindeutig ist und er beim sql-update befehl nur die ID als abfrage punkt bekommt womit er nur die Möglichkeit hat immer nur 1 Datensatz pro Query zu ändern.

    Also in meinem Falle nur 2 Datensätze, ABER er macht3 oOoOoO

    Sorry aber hier hört meine Logik auf :(

    hoffe auf antwort.

  • also erstens, ist dei nsystem müll,

    ich würde es so handhaben, das du dir eine Datensatz id hälts und eine positions ID.

    dann halt ein html js gemischh zum sortieren, wie es lustig is,

    dann halt einfach für die ein update für jede Datensatz ID, wo du die posi ID änderst.

    dann beim slect haltt ORDER BY posi_ID ASC und gut ist.

    alles so verstanden.

    Wenn dass nicht gefält, erkläre ich dir noch eine wesentlich schlechtere Methode, die deienr sehr ähnlich kommt.

  • Also du meinst jetzt quasi mit Javascript / html alles so zu sortieren wie ich es brauche und später dann wenn ich auf "speichern" klick jeden Datensatz mit seiner position abspeichern ?

  • jup, also z.b. machst du dir für jedes feld ein dropdown mit der anzahl der datensätze drinn und dann gibst ihm den namen posi[$_Datensatz_id]

    dann kannst du:

    foreach($_REQUEST['posi'] AS $key=>$val)
    {
    mysql_query("UPDATE XYZ SET `pos_id`='".$val."' WHERe `id`='".$key."';");
    }

  • Hmm.. daran hab ich noch garnicht gedacht,aber da kommt dann ein neues problem auf mich zu :)

    und zwar für mich persöhnlich wäre das ne gute lösung, da ich aber die homepage für meinen Kunden baue, muss es für ihn komfortabel sein.

    Sprich ich hab zwei bild buttons.
    Einmal pfeil nach oben, einmal pfeil nach unten für jedes element.

    Klicke ich auf "nach oben" soltle der datensatz direkt nach oben springen und der, der oben war, nach unten springen .

    da is das mit dem dropdown doch eher "schwierig" zu handhaben als fitness zenter betreiber der keine ahnung von pc's hat :)

    hast vlt dafür ne lösung?

    und vlt schaust dir nochmal an was ich gemacht hab und vlt findest ja auch nen fehler wieso er 3 datensätze speichert an statt 2

  • Hmm ja, hier der Vorschlag: ist zwar zimlich unsauber aber du wirst das schon verstehen

    und für den nach oben buttom einfach aus dem $pos_id+1 ein $pos_id-1 machen

  • Naja hab deins jetzt noch nicht genauso so ausprobiert,

    Aber ich hab ja auch folgendes gemacht ( eigentlich genau das was du auch gemacht hast )

    erstmal die position der id herausgefunden,

    danach id herausgefunden mit der gefundenen position +/- 1

    und dann halt geupdatet

    $sqlll = Mysql_Query("Update zeiten set strposi = '$strr' WHERE id = '$id'");
    $sqllll = Mysql_Query("Update zeiten set strposi = '$strold' WHERE id = '$strr_id'");

    und genau da macht er bei mir dir probs, komischerweise ändert er anstatt 2 datensätzen ( was hier ja eigentlich nur möglich ist )

    ändert er halt mal so einfach so 3 stück obwohl ich keine 3 sql update oder sonstige befehle hab

    ich blick einfach net was da passiert und wieso das falsch ist.

    ok deine ist kürzer werde die mal probieren und einbauen, aber denke da kommt das selbe prob wie bei mir.

    hoffe ich hab glück

  • so hab mich erstmal registriert :)

    also ich hab nun folgendes gemacht

    sagen wir mal für down
    [php:1:8dcc683e5d]<?php
    function pos_down ($id,$zeit) {

    list($pos_id)=mysql_fetch_row(mysql_query("SELECT strposi FROM zeiten WHERE `jahreszeit`='".$zeit."' AND `id`='".$id."'; "));

    $austausch=mysql_fetch_assoc(mysql_query("SELECT strposi, id FROM zeiten WHERE `jahreszeit` = '".$zeit."' AND `strposi`='".($pos_id+1)."'; "));

    mysql_query("UPDATE zeiten SET `strposi`='".$pos_id."' WHERE `jahreszeit` = '".$zeit."' AND `id`='".$austausch['id']."'; ");

    mysql_query("UPDATE zeiten SET `strposi`='".$austausch['strposi']."' WHERE `jahreszeit` = '".$zeit."' AND `id`='".$id."'; ");

    }
    ?>[/php:1:8dcc683e5d]
    `jahreszeit` = '".$zeit."' AND <-- weil ich noch unter sommerzeit und winterzeit unterscheiden muss

    was er nun macht ist das er mir leere inhalte in die beiden datensätze schreibt

    wenigstens macht er schonmal nur noch 2 *Fg*


    So was ich nun gemacht hab is wieder dieses komisch und zwar

    [php:1:8dcc683e5d]<?php
    function pos_down ($id,$zeit) {

    $pos_old = Mysql_Query("SELECT strposi FROM zeiten WHERE jahreszeit = '".$zeit."' AND id = '".$id."'");

    while($get = Mysql_fetch_object($pos_old)){
    $pos_id = $get->strposi;
    }

    $austausch_old = Mysql_Query("SELECT strposi,id FROM zeiten WHERE jahreszeit = '".$zeit."' AND strposi = '".($pos_id+1)."'");

    while($get = Mysql_Fetch_object($austausch_old)){
    $austausch['strposi'] = $get->strposi;
    $austausch['id'] = $get->id;
    }

    mysql_query("UPDATE zeiten SET `strposi`='".$pos_id."' WHERE `jahreszeit` = '".$zeit."' AND `id`='".$austausch['id']."'; ");

    mysql_query("UPDATE zeiten SET `strposi`='".$austausch['strposi']."' WHERE `jahreszeit` = '".$zeit."' AND `id`='".$id."'; ");

    }
    ?>[/php:1:8dcc683e5d]

    imprinzip nichts anderes was du gemacht hast,

    du hast lediglich die daten anderster herausgesucht , hab sogar deine variablen bezeichnungen benutzt und nun ändert er wird 3 datensätze

    ich weis net mehr weiter

  • also bleiben wir mal beim ersten Beispiel, ändert er da die zeit richtig ???
    und machen es richtig:

    und was zeigt es bei der debug ausgabe ann??

  • so dein beispiel hab ich nun benutzt

    er gibt aus

    habe aba nun halt die "up" funktion benutzt weil die down meine art ist und die up deine art

    ist halt die genauso wie du geschrieben hast oben mit dem unterschied:

    function pos_up($id,$zeit) {
    anstatt pos_down

    und ($pos_id-1)
    anstatt ($pos_id+1)


    UPDATE zeiten SET `strposi`='' WHERE `jahreszeit` = 'sommer' AND `id`='';
    UPDATE zeiten SET `strposi`='' WHERE `jahreszeit` = 'sommer' AND `id`='6';

    er bekommt also keine daten zurück und setzt somit bei id 6 die strposi auf ""


    EDIT: habe gerade gesehen das du noch echo mysql_error(); gemacht hast

    habe nun mal probier mit komplett gleichen code wie du oben geschrieben hast:

    er sagt mir nur

    debug:5|sommer

    mehr nicht ABER
    er ändert nun
    ID 5 auf strposi 5
    ID 6 auf strposi 4
    ID 7 auf strposi 4

  • EDIT: habe gerade gesehen das du noch echo mysql_error(); gemacht hast

    habe nun mal probier mit komplett gleichen code wie du oben geschrieben hast:

    er sagt mir nur

    debug:5|sommer

    mehr nicht ABER
    er ändert nun
    ID 5 auf strposi 5
    ID 6 auf strposi 4
    ID 7 auf strposi 4

    Zuletzt bearbeitet von prdatur am Di, 18.10.2005 16:11, insgesamt 1-mal bearbeitet

  • OMG

    nun hab ich mal eine test.php datei erstellet und zwar mit folgendem code:

    [php:1:d51a703674]<?php
    function pos_down ($id,$zeit)
    {
    include("dbconnect.php");
    echo "debug:".$id."|".$zeit;

    list($pos_id )=Mysql_fetch_row(Mysql_Query("SELECT `strposi` FROM `zeiten` WHERE `jahreszeit` = '".$zeit."' AND `id` = '".$id."'")); echo mysql_error();
    $austausch=Mysql_Fetch_assoc(Mysql_Query("SELECT `strposi`, `id` FROM `zeiten` WHERE `jahreszeit` = '".$zeit."' AND `strposi` = '".($pos_id+1)."'")); echo mysql_error();

    mysql_query("UPDATE `zeiten` SET `strposi`='".$pos_id."' WHERE `jahreszeit` = '".$zeit."' AND `id`='".$austausch['id']."'; "); echo mysql_error();
    mysql_query("UPDATE `zeiten` SET `strposi`='".$austausch['strposi']."' WHERE `jahreszeit` = '".$zeit."' AND `id`='".$id."'; "); echo mysql_error();
    }
    pos_down("3","sommer");

    ?>[/php:1:d51a703674]

    Hier macht er es wunderbar ohne probleme

    Leider weis ich nicht wieso er im richtigen script dann mist baut immerhin mache ich folgendes

    [php:1:d51a703674]<?php
    function pos_down ($id,$zeit)
    {

    // Hier ist halt die dbconnect.php ein ordner unten drunter

    include("../dbconnect.php");
    echo "debug:".$id."|".$zeit;

    list($pos_id )=Mysql_fetch_row(Mysql_Query("SELECT `strposi` FROM `zeiten` WHERE `jahreszeit` = '".$zeit."' AND `id` = '".$id."'")); echo mysql_error();
    $austausch=Mysql_Fetch_assoc(Mysql_Query("SELECT `strposi`, `id` FROM `zeiten` WHERE `jahreszeit` = '".$zeit."' AND `strposi` = '".($pos_id+1)."'")); echo mysql_error();

    mysql_query("UPDATE `zeiten` SET `strposi`='".$pos_id."' WHERE `jahreszeit` = '".$zeit."' AND `id`='".$austausch['id']."'; "); echo mysql_error();
    mysql_query("UPDATE `zeiten` SET `strposi`='".$austausch['strposi']."' WHERE `jahreszeit` = '".$zeit."' AND `id`='".$id."'; "); echo mysql_error();
    }

    if($action == "pos"){

    if($to == "up"){
    pos_up($id,$zeit);
    }else if($to == "down"){
    pos_down($id,$zeit);
    }
    }

    echo "
    <table border=1 cellspacing=0 cellpadding=0 style=\"width:400px;\">
    <tr>
    <td>Tag(e):</td><td>Von</td><td>Bis</td><td style=\"width:50px;\">Position</td><td style=\"width:125px;\">Optionen:</td>
    </tr>
    ";
    $sql = Mysql_query("SELECT * FROM zeiten WHERE jahreszeit = 'Sommer' order by strposi");
    while($get = Mysql_fetch_object($sql)){
    echo "
    <tr>
    <td>".$get->tag."</td>
    <td>".$get->von."</td>
    <td>".$get->bis."</td>
    <td align='center'><a href=\"?page=zeiten&action=pos&id=".$get->id."&to=up&zeit=sommer\"><img src=\"images/arror_up.gif\" width=\"11\" height=\"11\" border=\"0\" alt=\"\"></a><a href=\"?page=zeiten&action=pos&id=".$get->id."&to=down&zeit=sommer\"><img src=\"images/arror_down.gif\" width=\"11\" height=\"11\" border=\"0\" alt=\"\"></a></td>
    <td>Editieren | Löschen</td>
    </tr>
    ";
    }
    echo "</table>

    ";

    ?>[/php:1:d51a703674]

    den link den ich z.B. bei montag ( id 3 ) habe hat folgendes

    http://127.0.0.1/lex/admin/inde…own&zeit=sommer

  • hmm also der code an sich ist richtig, jedoch wiso includest du was in einer funktion ???

    vorallem was sollen die mysql_fetch_objekt??? Weis du überhaupt was objekte sind?? Ich vermute nicht.

    Dazu solltest du auf das Register globals verzichten, das bringt nur probleme.

    also:

    if($to == "up"){
    pos_up($_GET['id'], $_GET['zeit']);
    }else if($_GET['to'] == "down"){
    pos_down($_GET['id'], $_GET['zeit']);
    }

  • lol ja ich weis was objecte sind, es ist eine instanz einer klasse so mal bei java ( nicht javascript ) ,

    imprinzip erstelle ich ein object $get worauf ich dann mit -> die einzelnen daten abfrage

    und wieso ich was in der funktion include , weil ich des öfteren probleme gehabt hab, das er keine datenbankanbindung in einer funktion hat wenn ich sie nicht explieziert erstelle , entweder nochmal mysql_connect oder halt meine dbconnect include

    wieso ich im mom noch mit register_globals off arbeite ist weil ichs net hinbekomme und er mir immer diesen dummen fehler bringt den ich nicht vestehe,

    sobald ich nichts verstehe wieso und warum er das macht, schreibe ich den code so um das keine fehler mehr entstehen können ( mein eigener webserver hat halt register_globals on


    und hmm mit dem code oben ( wegen deinem include problem :P ) findet er wenigstens die daten in der mysql tabelle und ändert sie , auch wenn er sie falsch ändert

    ohne dem dbconnect ändert er komischerweise garnix.....

  • Also wann du mit Objekten arbeitest, arbeite konkret mit ihnen!

    Zeig mal dein db connect, da ist sicher ein Fehler drinn.

    ja und wenn du mit register globals off arbeitest, was auch der besere Weg ist. Dann kannst du die POST und GET variabellen nicht einfach als normale Variabbelle abnehmen sondern must due Array $_POST $_GET $_REQUEST verwenden.