grundsätzlich sollte man in jede tabelle (ausser spezielle verknüpfungstabellen) eine id als 'schlüssel' setzen. da diese id eindeutig ist, kannst du aufgrund dieser id einen eintrag entfernen. der name des bildes oder der username muss nicht unbedingt eindeutig sein.
Leere felder nicht anzeigen
Einklappen
X
-
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 |
-
so würde ICH das aufbauen.
Code:CREATE TABLE User_Accounts ( UserId int(11) NOT NULL auto_increment, UserName varchar(20), UserPasswd varchar(32), UserEMail varchar(20), PRIMARY KEY (UserId) ); CREATE TABLE User_Bilder ( BildId int(11) NOT NULL auto_increment, UserId int(11) NOT NULL default '0', BildName varchar(60), PRIMARY KEY (BildId) );
Code:# User anlegen. INSERT INTO User_Accounts ( UserName, UserPasswd, UserEMail ) VALUES ( 'neuername', MD5('neuespasswort'), 'user@email.de' ); # Neues Bild anlegen. INSERT INTO User_Bilder ( UserId, BildName ) VALUES ( 'id-des-aktuellen-users', 'path-to-images' );
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
-
damit wird dein pw VERSCHLÜSSELT in der DB abgelegt. der string ist immer 32 byte lang, daher auch der feldtyp varchar(32)
somit steht dein pw nicht als text/plain in der tabelle. so ist das ganze auch sicher.
wenn du nun einen vergleich machen willst, ob der user seine daten korrekt angegeben hat, geht die query so.
PHP-Code:$sql = "SELECT UserId,UserName,UserPasswd,UserEMail FROM User_Accounts WHERE UserName='".$username."' AND UserPasswd=MD5('".$password."')";
query. anderenfalls sind die eigegebenen daten nicht korrekt.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
-
habe noch was in der usertabelle vergessen...
der username selbst war nicht unique.
hier nochmal die ganze query zum anlegen der tabelle.
der rest bleibt gleich.
Code:CREATE TABLE User_Accounts ( UserId int(11) NOT NULL auto_increment, UserName varchar(20), UserPasswd varchar(32), UserEMail varchar(20), PRIMARY KEY (UserId), UNIQUE KEY UserName (UserName) );
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
-
backup? ist doch was für feiglinge.....
aber nur deiner dateien? in der DB wahrscheinlich nciht. diese tabellennamen hast du bestimmt noch nicht verwendet.
aber viel spass. einfach mal probieren und basteln. du hast jetzt erst einmal alle infos, die du brauchst. ist echt nicht schwer.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
-
du meintest.... du meldest dich GLEICH..... morgen ist bereits heute.
ich geh jetzt erstma pennen.
viel spass bei der n8schicht.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
-
Also, beim login hab ich probs, da sagt er ungültige anmeldeinformationen:
<?
include("verb.inc");
if(mysql_select_db($DBName, $verbindung))
{
$sql = "SELECT UserId,UserName,UserPasswd,UserEMail FROM User_Accounts WHERE UserName='".$username."' AND UserPasswd=MD5('".$password."')";
$ergebnis = mysql_query($sql) or print ">>> MySQL-Error: ".mysql_errno()." -> ".mysql_error()."<br>\n";
$anz = mysql_num_rows($ergebnis);
if($anz != 0)
{
echo "Willkommen $UserName<p>\n";
echo "<a href=\"up.php?UserName=$UserName\" targe=\"_self\">Bild hochladen</a><br>\n";
echo "<a href=\"del.php?UserName=$UserName\" targe=\"_self\">Bild löschen</a><br>\n";
}
else
{
echo "Üngültige Anmeldeinformationen<br>\n";
}
}
// Wenn Verbindung nicht erfolgreich
else
{
echo "Verbindung zu Datenbank $dbname; konnte nicht hergestellt werden...<br>\n";
echo mysql_errno() . ": " . mysql_error() . "<br>\n";
}
?>
Kommentar
-
hast du auch einen user mit MEINER sql-query angelegt? nur so wird das passwd auch verschlüsselt abgelegt.
wenn du das mit phpmyadmin machst, musst du links vom einzutragendem wert auch MD5 als funktion wählen, damit das pw verschlüsselt ist. wenn du ein 'browse' auf die tabelle machst, darf das pw NICHT PLAIN dort stehen.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
-
Das Eintragen habe ich mit DEINER gemacht, das funktioniert ja auch supi. Ich werd das jetzt abwer mal ganz anders machen und die scripte nicht verändern sondern neu schreiben, Ich leg das Login auf die navigation. Dann ist das einfacher mit dem übergeben der Werte
Kommentar
-
gib bescheid, wenn du es fertig hast.
kann man das werk auch irgendwo sehen?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
Kommentar