Antworten auf deine Fragen:
Neues Thema erstellen

MySQL Update

dalmarog

Nicht mehr ganz neu hier

Hi Leute,
leider will mein Script zum Ändern des persönlichen Passworts nicht so recht klappen. Bin mir sicher, dass euch der Fehler sofort auffällt :D

PHP:
<?php
session_start();
include '../includes/inc.db.php';

$pwd_new = $_POST['pwd_new'];
$pwd_new_chk = $_POST['pwd_new_chk'];

$sql = "UPDATE ecms_user SET passwort = ".md5($pwd_new)." WHERE id = ".$_SESSION['user_id']."";

$result = mysql_query ($sql);
?>

Fehlermeldung gibts keine und auch wenn ich die Variable sql ausgebe, kommt da meiner Meinung nach ein akzeptables Ergebnis raus, nämlich in meinem Testversuch UPDATE ecms_user SET passwort = 098f6bcd4621d373cade4e832627b4f6 WHERE id = 1 aber es ändert sich komischerweise nix in der DB.

Danke für eure Hilfe.
 

Christian

verpeilt & verschallert

AW: MySQL Update

Kleiner Tipp:
Bei Fehler in Abfragen immer als erstes phpMyAdmin mit der Abfrage konsultieren, oder die mysql_error() Funktion einbauen á la:

mysql_query($query) or die(mysql_error());

Um auf Deinen Fehler anzuspielen; mir fallen da direkt 2 Dinge ins Auge:
Zum einen der Syntax-Fehler:
PHP:
$pwd_new = $_POST['pwd_new'];
$pwd_new_chk = $_POST['pwd_new_chk'];

$sql = "UPDATE ecms_user SET passwort = ".md5($pwd_new)." WHERE id = ".$_SESSION['user_id']."";

$result = mysql_query ($sql);

SET passwort = 56as5da615sd4as65d4as...

geht nicht.
Klartext muss immer in Anführungszeichen eingetragen werden, sprich:
SET passwort = "5asd56as4d6a5sd6a54...", ...

Zum Anderen:
Du trägst die Werte ungefiltert und ungecheckt ein, sprich, stell Dir vor, jemand trägt in dem $_POST Parameter pwd_new den Wert ' "", (DROP TABLE ecms_user) ' (jetzt mal nur gesponnen) ein, was glaubst Du würde mit Deiner Tabelle / Datenbank passieren ;)

PHP: mysql_real_escape_string - Manual
 

dalmarog

Nicht mehr ganz neu hier

AW: MySQL Update

Danke... das erklärt, wieso er mir mit mysql error das hier ausgibt:
Unknown column '098f6bcd4621d373cade4e832627b4f6 ' in 'field list'

und mit der Sicherheit von Formularen muss ich mich sowieso nochmal gesondert auseinander setzen, wenn mich nicht dauernd so Kleinigkeiten aufhalten würden, wie da oben ;)
 
AW: MySQL Update

Also was bei mir auch noch Probleme verursacht hatte, was mir bei dir auffällt, sind die Anführungsstriche.

Bei WHERE id = ".$_SESSION['user_id'].""; müssen die Anführungszeichen weg, sofern die ID nur aus Ziffern besteht, da ansonsten die ID nicht in die entsprechende Spalte eingetragen werden kann (dann müstest du aus dem INT ein VARCHAR oder so machen).
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben