Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 13:55

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



PHP und MySql - Daten auslesen

Discussion on PHP und MySql - Daten auslesen within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Praim's Avatar
 
elite*gold: 28
Join Date: Apr 2010
Posts: 2,355
Received Thanks: 439
Exclamation PHP und MySql - Daten auslesen

Hi.
Ich versuche grade ein Loginsystem mit PHP und MySql zu basteln.
Die Registration habe ich schon, im folgenden Format werden die Benutzer gespeichert:
ID | username | mail | password | browser | ip | date
1 Peterchen hallo123 uswusw.

Wie kann ich nun beim Login bspw auslesen, ob der Benutzername vorhanden ist?
Und dann das Passwort mit dem eingegebenen Passwort vergleichen?

Viele Grüße
Praim is offline  
Old 04/09/2013, 16:10   #2
 
elite*gold: 0
Join Date: Mar 2009
Posts: 775
Received Thanks: 168
Einfach ne whileschleife, die die Spalte durchgeht, bis die Werte übereinstimmen. Dann vergleichst du das eingegebene mit dem gespeicherten passwort.
Missing No is offline  
Old 04/09/2013, 16:13   #3
 
arbass's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 318
Received Thanks: 6
Kurzer Snippet aus meiner PHP Register Class:

-----------------------------------------------------------------------------
public function checkUserNameInUse()
{
// send query that will return results with that email
$request = "SELECT " . USERCOLUMN . " FROM " . USERTABLE . " ";
$request .= "WHERE " . USERCOLUMN . " LIKE '" . $this->email . "'";

$res = pg_query(getDBConnection(), $request );
$dsatz = pg_fetch_assoc( $res );

// if the result were 0 rows -> there is no user with that email
if( strcmp( $dsatz[USERCOLUMN], $this->email) == 0 )
{
$error = 1;
return false;
}

return true;
}


-----------------------------------------------------------------------------
arbass is offline  
Old 04/10/2013, 08:53   #4

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
Nicht zu vergessen das wenn du weißt das nur ein Datensatz benötigt wird LIMIT 1 anzugeben. Das spart einiges an Ressourcen!
Synatex is offline  
Old 04/10/2013, 15:07   #5

 
Delinquenz's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
Quote:
Einfach ne whileschleife, die die Spalte durchgeht, bis die Werte übereinstimmen. Dann vergleichst du das eingegebene mit dem gespeicherten passwort.
Nicht ein kleines bisschen ressourcenfressend?
Delinquenz is offline  
Old 04/10/2013, 15:18   #6
 
elite*gold: 0
Join Date: Mar 2009
Posts: 775
Received Thanks: 168
Kommt immer drauf an, wie die Datenbank aufgebaut/ geordnet ist und wie viele Einträge vorhanden sind.

In diesem Falle wär dies allerdings wohl die einfachste.
Missing No is offline  
Old 04/10/2013, 15:59   #7

 
Delinquenz's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
Wozu gibts denn im SQL Query die "WHERE-Clause"?
Delinquenz is offline  
Old 04/11/2013, 00:01   #8
 
elite*gold: 0
Join Date: May 2007
Posts: 18
Received Thanks: 0
Quote:
Einfach ne whileschleife, die die Spalte durchgeht, bis die Werte übereinstimmen. Dann vergleichst du das eingegebene mit dem gespeicherten passwort.
Was?!

Quote:
Kommt immer drauf an, wie die Datenbank aufgebaut/ geordnet ist und wie viele Einträge vorhanden sind.

In diesem Falle wär dies allerdings wohl die einfachste.
Welchen Fall gibt es, dass dies sinnvoll wäre??

Selbst wenn man an die User Daten ran will zum Testen, wäre eine SQL-Query sinnvoller.

SELECT `spalteX`, `spalteY`, `spalteZ` FROM `accounts` WHERE `spalteX`='administrator' AND `password`='HASH' LIMIT 0,1;


Die Zeit sollte man sich wirklich der Qualitäts und Ordnungshalber nehmen!

Bitte!

Gruß
zorndyuke is offline  
Old 04/13/2013, 10:50   #9
 
Atomix74's Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 271
Received Thanks: 94
Wenn scon Qualität und Ordnung herschen soll.

Du hast Die Struktur
Code:
 ID | username | mail | password | browser | ip | date
Dann würde eine saubere Abfrage wie folgt ablaufen.
Code:
$sql = ' SELECT `password`FROM `accounts`WHERE ` `username` = "' . mysql_real_escape_string($username) . ' " LIMIT 1;';

$r = mysql_fetch_assoc(mysql_query($sql));
Das Escapen wird gerne und oft vergessen, ist aber in der bösen Welt da draussen sehr wichtig.
Sonst bedanken sich hundertausende schonmal im Vorfeld für die Benutzerdaten.

Du hast zwar nicht nachgefragt, aber schau Dir bzgl. des Passwort die PHP hash() Funktion an. Zorn hat mehr oder weniger direkt ebenfalls schon darauf hingewiesen.
Atomix74 is offline  
Old 04/15/2013, 18:38   #10

 
adistoe's Avatar
 
elite*gold: 63
Join Date: Oct 2012
Posts: 1,181
Received Thanks: 139
PHP Code:
<?php
//Zur Datenbank verbinden
include ("inc/db-connect.php");

//Cookieabfrage - Eingeloggt?
if(isset($_COOKIE['ID_my_site']))

//Eingeloggt - Weiterleiten zum gesicherten Bereich
 
{
     
$username $_COOKIE['ID_my_site'];
     
$pass $_COOKIE['Key_my_site'];
     
$check mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
     while(
$info mysql_fetch_array$check ))
         {
         if (
$pass != $info['password'])
             {
                          }
        else
            {
            
header("Location: index.php");
        }
    }
}

//Loginbutton geklickt 
if (isset($_POST['submit'])) {

//Felder nicht ausgefüllt
     
if(!$_POST['username'] | !$_POST['pass']) {
         die(
'Sie haben keinen Usernamen oder kein Passwort angegeben.');
     }

//Datenbank prüfen
     
$check mysql_query("SELECT * FROM admin_users WHERE username = '".$_POST['username']."'")or die(mysql_error());

//Username existiert nicht
$check2 mysql_num_rows($check);
if (
$check2 == 0) {
        die(
'Dieser User existiert nicht.');
                }
while(
$info mysql_fetch_array$check ))
{
    
$_POST['pass'] = stripslashes($_POST['pass']);
    
$info['password'] = stripslashes($info['password']);
     
$_POST['pass'] = md5($_POST['pass']);

//Falsches Passwort
     
if ($_POST['pass'] != $info['password']) {
         die(
'Das Passwort ist nicht korrekt.');
     }
else
{
//Login ok - Cookies erstellen
$_POST['username'] = stripslashes($_POST['username']);
$hour time() + 3600;
setcookie(ID_my_site$_POST['username'], $hour);
setcookie(Key_my_site$_POST['pass'], $hour);

//Weiterleiten zum gesicherten Bereich
header("Location: index.php");
            }
        }
    }
else
{
//Nicht eingeloggt
?>
--- Loginform anzeigen ---

PHP Code:
<?php
}
?>
adistoe is offline  
Reply


Similar Threads Similar Threads
Daten aus MySQL Datenbank auslesen
10/17/2012 - .NET Languages - 11 Replies
Hallo ihr Coder, ich versuche derzeit ein simples Login System zu coden. Hier erstmal der Code: private void button1_Click(object sender, EventArgs e) { string conn = "Server=localhost;Port=3306;Database=users;Ui d=root;password=;"; MySqlConnection connection = new MySqlConnection(conn); MySqlCommand command = connection.CreateCommand(); command.CommandText = "select * from usertable";
mit php in mysql höchste id auslesen
04/13/2012 - Web Development - 9 Replies
Hallo ich habe ein kleines Problem undzwar habe ich mir in pbp so ne art gästebuch gecodet, dieser code soll die größte id aus der spalte id ausgeben und +1 nehmen d.h die höchste id ist z.b 15 und dann +1 also 16. $abfrage = "SELECT id FROM gästebuch ORDER BY id DESC LIMIT 0,1"; $result = mysql_query($abfrage); $id2 = mysql_result($result,0,0); $endid = $id2 + "1"; nunja wenn ich aber in dem gästebuch mehr als 10 einträge habe wird die id immer 10 haben und nicht +1 gezählt könnte...
[Q] [VB.NET] Daten auslesen
09/03/2011 - .NET Languages - 3 Replies
Hey Com, ich hab mal ne frage unzwar will ich ein Bot Programmieren der Hidden laufen soll (Nein ich bin nicht einer dieser Trottel die toll sein wollen und von 0 auf 100 starten wollen) Ich habe bereits einiges gelernt aber mit fehlt einfach ein Grundcode Ich möchte in einem Spiel: "METIN2" BEstimmte Sachen auslesen wie
Auslesen einer MySql DB?
01/26/2011 - AutoIt - 6 Replies
Hey Com, habe ein Problem mit der http://www.elitepvpers.com/forum/attachments/autoit /77189d1295952713-s-jemanden-der-mir-helfen-will-g ro-es-projekt-mysql.zip (MySql-UDF). Ich kann zwar wunderbar in der DB schreiben, jedoch auslesen eines eintrages will nicht so ganz... Ich poste euch hier meine Source. Nicht erschrecken, wird noch alles ein bisschen abgeändert fehlt nemlich noch einige... ist auch noch nicht so gut gescriptet von den funktionen her... #include <GUIConstantsEx.au3>...
Daten Auslesen
04/11/2007 - World of Warcraft - 7 Replies
hi, ich hab mal neh frage da ich zurzeit mit dem gedanken liebäugel mein acc zu verkaufen wolt ich fragen ob es neh möglichkeit gibt mein charakter voll auslesen zu lassen (like buffed) allerdings den namen zu faken damit blizzard mir bei auktionen net an die eier gehen oO" wichtig ist halt sachen wie bank, rezepte, equip etc am besten währe etwas was ich auf eigenen webspace laufen lassen kann ich hoff ihr versteht was ich meine und könnt mir was empfehlen ^^



All times are GMT +1. The time now is 13:55.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.