YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Feld mit diesem Namen existiert bereits? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 3.649 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Feld mit diesem Namen existiert bereits?
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
HForum HForum ist männlich
Mitglied


images/avatars/avatar-3849.gif

Dabei seit: 28.01.05
Beiträge: 361
Herkunft: Schweiz - St. Gallen
Forenversion: Lite 1.0

 Feld mit diesem Namen existiert bereits? Antworten Zitieren Editieren Melden       UP

Hi!
Ich bin immernoch totaler Anfänger, und habe für mein kleines Problem noch immer keine Antwort gefunden.
Ich habe eine MySQL Datenbank Tabelle, in der Tabelle hat es die "Überschrift" 'User'. Nun brauche ich eine PHP Datei die überprüft ob "lala" in einer Zelle von 'User' vorkommt. Wenn es vorkommt soll es "Ja" schreiben, ansonsten "Nein"!

Kann mit jemand helfen, oder ist das Ganze zu undeutlich formuliert?

__________________
(\ /)
( . .)
C('')('')
20.01.06 19:57 HForum ist offline E-Mail WWW Finden Als Freund hinzufügen MSN Passport-Profil von HForum anzeigen
MrMind MrMind ist männlich
Sklave des Supportes


images/avatars/avatar-2822.gif

Dabei seit: 19.01.04
Beiträge: 3.349
Herkunft: Darmstadt/Odw.

Antworten Zitieren Editieren Melden       UP

Also wenn ich dich richtig verstanden habe, dann ist die Datenbank so in etwa aufgebaut:

Datenbank: test
Tabelle: news
Felder: User

das sind teilweise nur Beispiel Angaben (wie test etc.)

So könnten nun Einträge in der DB aussehen:

news

Userid | User | Email

1 | Test | test@test.de
2 | lala | lala@test.de

....


Du willst nun prüfen, ob in der Tabelle news der User mit dem Usernamen lala schon existiert, dann sollte der folgende PHP-Code funktionieren:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<?php

//Verbindung zu mysql mit Datenbankauswahl

$sql "SELECT user FROM news WHERE user='lala'";

if( $result mysql_query($sql) )
{
    echo "User existiert";
}
else
{
    echo "User existiert nicht";
}

//Datenbank-Verbindung schließen
?>


Die Kommentare habe ich nur eingefügt, damit du weißt, was zuvor kommen muss, da ich net auf alles eingehe, sondern lediglich auf das Problem großes Grinsen

Hoffe ich konnte dir weiterhelfen.

Mfg
MrMind

__________________
Selbst ist der Coder
Coder under Linux

Ubuntu 5.10 Nutzer.

Meine Hacks

28.01.06 13:19 MrMind ist offline E-Mail Finden Als Freund hinzufügen
HForum HForum ist männlich
Mitglied


images/avatars/avatar-3849.gif

Dabei seit: 28.01.05
Beiträge: 361
Herkunft: Schweiz - St. Gallen
Forenversion: Lite 1.0

Themenstarter Thema begonnen von HForum
Antworten Zitieren Editieren Melden       UP

Hi!
Irgendwie will das nicht funktionieren, es können immer noch mehrere benutzernamen vorhanden sein:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:

<?
include 'reg.htm';

$link mysql_connect('localhost''''');
if (!$link) {
   die('keine Verbindung möglich: ' mysql_error());
}

mysql_select_db(''$link) or die("Konnte die Datenbank nicht waehlen.");

if(isset($_POST['user']))
{

$sql "SELECT user FROM news WHERE user='{$_POST['user']}'";
if( $user mysql_query($sql) )
{
    echo "Dieser Benutzer existiert bereits!";
}
else
{
$datei fopen("acid.txt","r+");
$count fread($datei,filesize("acid.txt"));

rewind($datei);
fwrite($datei,++$count);
fclose($datei);
$user $_POST['user'];

$user mysql_escape_string($user);

$count mysql_escape_string($count);

mysql_query("INSERT INTO ws
(mail, id) VALUES('$user', '$count' ) ") 
or die(mysql_error()); 


echo "erfolgreich";
}
}
mysql_close($link);
?> 


__________________
(\ /)
( . .)
C('')('')

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von HForum: 28.01.06 21:00.

28.01.06 20:19 HForum ist offline E-Mail WWW Finden Als Freund hinzufügen MSN Passport-Profil von HForum anzeigen
Flyboy Flyboy ist männlich
Mitglied


Dabei seit: 16.01.04
Beiträge: 821
Forenversion: wbb 2.3.4

Antworten Zitieren Editieren Melden       UP

Versuche es mal so:

php:
1:
2:
3:
4:
5:
6:
$sql  mysql_query("SELECT COUNT(`user`) as count FROM `news` WHERE `user` = '".$_POST['user']."'");
$data mysql_fetch_assoc($sql);

if( $data["count"] > "0") {
    echo "Dieser Benutzer existiert bereits!";
}


__________________
Schreib dich nicht ab! Lern lesen, schreiben und googeln!

28.01.06 21:46 Flyboy ist offline E-Mail Finden Als Freund hinzufügen Füge Flyboy in deine Kontaktliste ein
MrMind MrMind ist männlich
Sklave des Supportes


images/avatars/avatar-2822.gif

Dabei seit: 19.01.04
Beiträge: 3.349
Herkunft: Darmstadt/Odw.

Antworten Zitieren Editieren Melden       UP

Es würde einfach nur reichen diese Zeile hier:

php:
1:
$sql "SELECT user FROM news WHERE user='{$_POST['user']}'";


durch die folgende zu ersetzen:

php:
1:
$sql "SELECT user FROM news WHERE user='".addslashes($_POST['user'])."'";


Vorallem das addslashes() ist hier sehr wichtig, ansonsten besteht ein SQL-Injection-Angriff nichts mehr im Wege großes Grinsen

Mfg
MrMind

__________________
Selbst ist der Coder
Coder under Linux

Ubuntu 5.10 Nutzer.

Meine Hacks

29.01.06 06:33 MrMind ist offline E-Mail Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Feld mit diesem Namen existiert bereits?