Engabe mit Datensatz aus MySQL-Datenbank vergleichen

Doc2k

Grünschnabel
Hallo zusammen.

Das ist die Ausgangssituation: (Damit die zusammenhänge klarer sind)

Ich habe eine Login Seite die mit java script läuft. Diese hängt benutzernamen und passwort (aus einem Form) aneinander und linkt auf eine html-File mit dem namen benutzernamepasswort.html in einem im Script vorgegebenen Ordner. In dieser Datei steht dann eine Weiterleitung zum passwort-geschützten Berreich.
Hierfür habe ich verschiedene PHP-datein geschrieben um die Dateien (accounts) zu erstellen oder zu löschen. Die Variablen (name, kdn, pass) für die funktionen werden immer von einem Form übertragen. Des weiteren werden die Daten in eine mysql Tabelle eingertagen und können so in einer Übersicht dargestellt werden. (Also muss beides gelöscht werden der Datenbank-eintrag und die html-datei)
auch alles soweit ganz gut. Nur hatte ich bisher keine Möglichkeit vor dem löschen zu überprüfen, ob der Datensatz in der Datenbank wirklich vorhanden ist und dann erst weiter gearbeitet wird. Was mich zu meinem Problem führt.

Das Problem

Die Datei soll also bevor sie damit beginnt Dateien zu löschen und Datensätze zu killen erstmal überprüfen ob die Angaben aus den vorangegangenen Formular auch in der Datenbank vorhanden (bzw.richtig geschrieben) sind. Also passt die" Kdn" zu diesem "Username".
Ich habe da folgendes erstellt:

PHP:
<?
include("connect.php");
?>
<?php
$datei_namen = "$HTTP_POST_VARS[name]$HTTP_POST_VARS[pass].html";
$tokill="../blabla/$datei_namen";
$abfrage = "SELECT Kdn FROM wsusers WHERE Username = '$HTTP_POST_VARS[name]'";
$real = mysql_query($abfrage);
if ($real != "$HTTP_POST_VARS[kdn]"){
echo 'Die Kundennummer und der angegebene Benutzername passen nicht zusammen<br><br><br><br>bitte klicken sie <a target="_self" href="javascript:history.back()">hier</a> um zurück zu kehren und überprüfen sie die Schreibweise';
}
else if(@unlink($tokill)){
echo 'Das Benutzer-Konto wurde erfolgreich gelöscht!';
$loeschen = "DELETE FROM wsusers WHERE Kdn = '$HTTP_POST_VARS[kdn]'";
$loesch = mysql_query($loeschen);
}
else {echo'<br><br><br><br>Das Benutzer-Konto konnte nich gefunden werden!<br>Bitte überprüfen Sie den Benutzernamen und das Passwort';
}
?>
Nur leider funktioniert die Stelle an der ich die übertagene Variable mit den Daten aus der Datenbank vergleichen will einfach nicht! Es kommt immer das echo Die Kundennummer und der angegebene Benutzername passen nicht zusammen... auch wenn alles richtig eigegeben wird. Also stimmt etwas an der Datei nicht

Nach langem Ausprobieren und Suchen bin ich jetzt vollkommen ratlos und für jede Hilfe dankbar.
Greets Doc2k
 
Schonmal was von mysql_error() gehört ich bin mir zwar nichtz sicher, aber ich glaube da stimmt was an deinem Query nicht.
 
Schmarn du kannst doch nicht das Ergebnis der Abfrage prüfen du brauchst doch einen String, den du per mysql_fetch_assoc oder mysql_fetch_object usw. bekommst.
 
Hallo,
an diese Zeile hab ich auch schon gedacht, weiss aber nicht wie sie aussehen sollte.
Wie bekomme ich es denn zum laufen?
Codebeispiele wären toll!
Greets
Doc2k
 
StefanR hat gesagt.:
Schmarn du kannst doch nicht das Ergebnis der Abfrage prüfen du brauchst doch einen String, den du per mysql_fetch_assoc oder mysql_fetch_object usw. bekommst.
ÄHM? Wie baue ich das denn ein? und welcher string iss der geeignetste?
 
PHP:
$abfrage = "SELECT Kdn FROM wsusers WHERE Username = '$HTTP_POST_VARS[name]'";
$qry = mysql_query($abfrage);
$real = mysql_fetch_assoc ($qry);
if ($real['Kdn'] != "$HTTP_POST_VARS[kdn]"){
 
Zurück