PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   UPDATE funktioniert iwie nicht (http://www.selfphp.de/forum/showthread.php?t=23228)

Wuschelchen 06.05.2010 15:40:18

UPDATE funktioniert iwie nicht
 
Hallo!

Also ich habe folgendes Problem:

Ich möchte eine Tabelle auslesen und die Werte in der Tabelle über ein Formular ändern können!

- das auslesen funktioniert! (sowohl in der Anzeigedatei wie auch in der Ändern Datei)


ABER: Die Änderungen werden beim Bestätigen nicht in die Tabelle eingetragen!

Was mache ich falsch? Das ganze habe ich fast gleich für eine andere Tabelle und es funktioniert ohne Probleme ... ist es nur ein kleiner Tippfehler?

Datei die den Inhalt der Tabelle einfach nur anzeigt: (funktioniert)
PHP-Code:

include="config.php";

    
$anfrage "SELECT * FROM user";
    
$ergebnis mysql_query($anfrage);
    
$zeile mysql_fetch_row($ergebnis);

       echo 
"<table border='0' width ='700' align='middle'>";
           echo 
"<tr>";
                echo 
"<td width='150'><span class='blue'>my.</span>Name:</td>";
                echo 
"<td width='180' class='rahmen'>$zeile[0]</td>";
                echo 
"<td></td>";
            echo 
"</tr>";
            echo 
"<tr>";
                echo 
"<td width='150'><span class='blue'>my.</span>Spitzname:</td>";
                echo 
"<td width='180' class='rahmen'>$zeile[1]</td>";
                echo 
"<td></td>";
            echo 
"</tr>";
            echo 
"<tr>";
                echo 
"<td width='150'><span class='blue'>my.</span>Alter:</td>";
                echo 
"<td width='180' class='rahmen'>$zeile[2]</td>";
                echo 
"<td></td>";
            echo 
"</tr>";
            echo 
"<tr>";
                echo 
"<td width='150'><span class='blue'>my.</span>eMail:</td>";
                echo 
"<td width='180' class='rahmen'><a href='mailto:$zeile[3]'>$zeile[3]</a></td>";
                echo 
"<td></td>";
            echo 
"</tr>";
            echo 
"<tr>";
                echo 
"<td width='150'><span class='blue'>my.</span>ICQ:</td>";
                echo 
"<td width='180' class='rahmen'>$zeile[4]</td>";
                echo 
"<td></td>";
            echo 
"</tr>";
            echo 
"<tr>";
                echo 
"<td width='150'><span class='blue'>my.</span>Beruf:</td>";
                echo 
"<td width='180' class='rahmen'>$zeile[5]</td>";
                echo 
"<td></td>";
            echo 
"</tr>";
            echo 
"<tr>";
                echo 
"<td width='150'><span class='blue'>my.</span>Familienstand:</td>";
                echo 
"<td width='180' class='rahmen'>$zeile[6]</td>";
                echo 
"<td></td>";
            echo 
"</tr>";
        echo 
"</table>"

Datei die den Inhalt ausliest und in Felder einspeist: (funktioniert)
PHP-Code:

  include "config.php";

    
$anfrage "SELECT * FROM user WHERE ID=1";
    
$ergebnis mysql_query($anfrage);
    
$row mysql_fetch_row($ergebnis);

        echo 
"<form name='user_edit' method='POST' action='admin_user_edit2.php'>";
           echo 
"<table border='0' width ='700' align='middle'>";
               echo 
"<tr>";
                    echo 
"<td width='150'>Name:</td>";
                    echo 
"<td width='180'><input type='text' value='$row[0]' name='name'></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td width='150'>Spitzname:</td>";
                    echo 
"<td width='180'><input type='text' value='$row[1]' name='spitzname'></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td width='150'>Alter:</td>";
                    echo 
"<td width='180'><input type='text' value='$row[2]' name='alter'></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td width='150'>eMail:</td>";
                    echo 
"<td width='180'><input type='text' value='$row[3]' name='email'></a></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td width='150'>ICQ:</td>";
                    echo 
"<td width='180'><input type='text' value='$row[4]' name='icq'></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td width='150'>Beruf:</td>";
                    echo 
"<td width='180'><input type='text' value='$row[5]' name='beruf'></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td width='150'>Familienstand:</td>";
                    echo 
"<td width='180'><input type='text' value='$row[6]' name='stand'></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<th colspan'3'><input type='submit' value='OK'><input type='button' value='Zurück' onclick='history.back()'></th>";
                echo 
"</tr>";
            echo 
"</table>";
        echo 
"</form>"

Datei die das ganze dann per UPDATE eintragen soll: (funktioniert nicht)
PHP-Code:

include "config.php";
    
    
$ID '1';
    
$name $HTTP_POST_VARS['name'];
    
$spitzname $HTTP_POST_VARS['spitzname'];
    
$alter $HTTP_POST_VARS['alter'];
    
$email $HTTP_POST_VARS['email'];
    
$icq $HTTP_POST_VARS['icq'];
    
$beruf $HTTP_POST_VARS['beruf'];
    
$stand $HTTP_POST_VARS['stand'];
    
    
$anfrage "UPDATE user SET Name='$name',Spitzname='$spitzname',Alter='$alter',Mail='$email';ICQ='$icq',Beruf='$beruf',Vergeben='$stand' WHERE ID=$ID";
    
mysql_query($anfrage);
    
mysql_close($db);
    
    include 
"admin.php"


Ckaos 06.05.2010 16:01:34

AW: UPDATE funktioniert iwie nicht
 
Hi

Was sagt?
PHP-Code:

echo mysql_error(); 

man man man.........

Zitat:

Mail='$email';ICQ='$icq'
und btw
Dein Code ist das wahre paradies für code/sql injection
Sowas darf eigentlich NICHT live gehen!!!

mfg

Ckaos

cortex 06.05.2010 16:18:14

AW: UPDATE funktioniert iwie nicht
 
siehe hier: $HTTP_POST_VARS [veraltet, nicht empfohlen]

cx

Wuschelchen 06.05.2010 17:22:52

AW: UPDATE funktioniert iwie nicht
 
Zitat:

Dein Code ist das wahre paradies für code/sql injection
Sowas darf eigentlich NICHT live gehen!!!
Kannst du mir einen Tipp geben mit was ich das statt POST machen kann? Hab grad schon gegoogelt aber er spuckt immer POST und GET aus!

vt1816 06.05.2010 17:36:26

AW: UPDATE funktioniert iwie nicht
 
POST ist schon in Ordnung, nur musst Du es halt code/sql injection sicher machen.

Wuschelchen 06.05.2010 17:47:33

AW: UPDATE funktioniert iwie nicht
 
Zitat:

Zitat von Ckaos (Beitrag 136508)
Was sagt?
PHP-Code:

echo mysql_error(); 


Einen weißen Bildschirm ... nix ... zeigt mir gar nichts ...

urvater 07.05.2010 16:58:21

AW: UPDATE funktioniert iwie nicht
 
Ckaos hat dir den Fehler zwar schon gezeigt aber hier noch mal als ganzes, wie es gehen sollte.

PHP-Code:

$anfrage "UPDATE `user` SET `Name`='".$name."',`Spitzname`='".$spitzname."',`Alter`='".$alter."', `Mail`='".$email."',`ICQ`='".$icq."',`Beruf`='".$beruf."',`Vergeben`='".$stand."' WHERE ID=$ID"

PS: Die Spalte "Alter" würde ich anders benennen, da "alter" nicht verwendet werden darf.

Zitat:

Mail='$email';ICQ='$icq'
Das war der Hinweis von Ckaos!

Ckaos 07.05.2010 19:42:19

AW: UPDATE funktioniert iwie nicht
 
Hi

Zitat:

Zitat von Wuschelchen (Beitrag 136517)
Einen weißen Bildschirm ... nix ... zeigt mir gar nichts ...

Lass mich raten du hast es irgendwo eingefügt?

PHP-Code:

mysql_query($anfrage);
// H I E R
echo mysql_error();
// N U R      H I E R
mysql_close($db); 

sql-injection BITTE LESEN

mfg

Ckaos


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:13:06 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.