kostenloser Webspace werbefrei: lima-city


MySQL auslesen und vergleichen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    se65jrj67

    se65jrj67 hat kostenlosen Webspace.

    Hier ist der Quelltext dafür. Ich will des es mir die benutzer ausliest und mit der eingabe vergleicht, das selbe beim passwort.
    Weshalb kommt dort immer flop heraus

    <html>
    <head>
    	<title> Titel </title>
    </head>
    <body>
    	<h1>Login</h1>
    	<p>Loggen sie sich bitte ein,
    	um in den geschützten Bereich zu kommen.
    	</p>
    	
    	<form action="index.php" method="post">				
    	<p><input name="lguser" maxlength="10"/> User</p>
    	<p><input name="pass" maxlength="32" type="password"/> Passwort</p>
    	<p><input type="submit" name="send"/> 
    	   <input type="reset"/>
    	</p>
    	</form>
    	
    	<p>Falls sie sich noch nicht registriert haben, können sie sich hier anmelden:</p>
    	<p><a href="/reg.php" value="Hier"/>Hier gehts zur Registrierung</p>
    	
    	<?php
    	include "mysqlconfig.inc.php";
    	
    	mysql_connect($host,$mysqluser,$mysqlpw);
    	mysql_select_db(db_xxxxxx_1);
    	
    	$sqlfr = "SELECT `User` FROM `db_xxxxxx_1`.`user_tgt` ";
    	$benutzer = mysql_query($sqlfr);
    	$duser = mysql_fetch_assoc($benutzer);
    	
    	$sqlfrpw = "SELECT `PW` FROM `db_xxxxxx_1`.`user_tgt` ";
    	$passwort = mysql_query($sqlfrpw);
    	$dpw = mysql_fetch_assoc($passwort);
    	
    	if (isset($_POST["send"]))
    	{
    	if ($duser == $_POST['lguser'] AND $dpw == $_POST['pass'] )
    	{
    	echo "top";
    	}
    	else
    	{
    	echo "flop";
    	}
    	}
    	?>
    </body>
    </html>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. d***********a

    Irgendwie komisch, dass du dazu 2 Abfragen machst.
    Wie wärs damit:

    $query = "SELECT * FROM `user_tgt` WHERE `PW` = ".md5($passwort)." AND `User` = ".mysql_real_escape_string($user);
    $sql = mysql_query($query);


    In dem Beispiel geh ich davon aus dass du das Passwort MD5 - gehasht hast. Falls du das anders gemacht hast musst dus anpassen.

    Wenn du nun die Rückgabe auswerten willst, kannst du mit
    $row = mysql_fetch_array($sql);

    eine Zeile in $row einlesen. Wenn du nun $row['User'] ausgibst, dann sollte der sich einloggende User dastehn ... falls denn das PW richtig war :D

    Ungetesteter Code

    Grüße Chris
  4. Autor dieses Themas

    se65jrj67

    se65jrj67 hat kostenlosen Webspace.

    ah thx aber da kommt ein fehler

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/se65jrj67/html/index.php on line 30


    Hier nochmal der abgeänderte Code:

    <html>
    <head>
    	<title>    Titel       </title>
    </head>
    <body>
    	<h1>Login</h1>
    	<p>Loggen sie sich bitte ein,
    	um in den geschützten Bereich zu kommen.
    	</p>
    	
    	<form action="index.php" method="post">				
    	<p><input name="lguser" maxlength="10"/> User</p>
    	<p><input name="pass" maxlength="32" type="password"/> Passwort</p>
    	<p><input type="submit" name="send"/> 
    	   <input type="reset"/>
    	</p>
    	</form>
    	
    	<p>Falls sie sich noch nicht registriert haben, können sie sich hier anmelden:</p>
    	<p><a href="/reg.php" value="Hier"/>Hier gehts zur Registrierung</p>
    	
    	<?php
    	include "mysqlconfig.inc.php";
    	
    	mysql_connect($host,$mysqluser,$mysqlpw);
    	mysql_select_db(db_xxxxxx_1);
    	
    	$query = "SELECT * FROM `user_tgt` WHERE `PW` = ".md5($passwort)." AND `User` = ".mysql_real_escape_string($user);
    	$sql = mysql_query($query);
    	$row = mysql_fetch_array($sql);
    	
    	if (isset($_POST["send"]))
    	{
    	if ($row['User'] == $_POST['lguser'] AND $row['PW'] == $_POST['pass'] )
    	{
    	echo "top";
    	}
    	else
    	{
    	echo "flop";
    	}
    	}
    	?>
    </body>
    </html>


    Beitrag zuletzt geändert: 14.4.2010 17:56:23 von se65jrj67
  5. d***********a

    $query = "SELECT * FROM `user_tgt` WHERE `PW` = '".md5($passwort)."' AND `User` = '".mysql_real_escape_string($user)."'";


    Ansonsten bitte mysql_error() ausgeben

    EDIT:
    btw, müsste des net
    mysql_select_db("db_xxxxxx_1");

    heißen, wenns n String is, des db_xxxxxx_1 ? :D


    Beitrag zuletzt geändert: 14.4.2010 18:00:45 von dapizzafressa
  6. Autor dieses Themas

    se65jrj67

    se65jrj67 hat kostenlosen Webspace.

    hmm da erscheint immernoch flop obwohlich den user und das passwort richtig eingebe habs jetzt mal der einfachheit halber ohne md5 gemacht.

    des mit
    mysql_select_db(db_xxxxxx_1);
    passt glaub schon so hab ichs mal bei der registrierung gemacht und da klappts^^

    hier nochmal der code:

    <html>
    <head>
    	<title>  Titel   </title>
    </head>
    <body>
    	<h1>Login</h1>
    	<p>Loggen sie sich bitte ein,
    	um in den geschützten Bereich zu kommen.
    	</p>
    	
    	<form action="index.php" method="post">				
    	<p><input name="lguser" maxlength="10"/> User</p>
    	<p><input name="pass" maxlength="32" type="password"/> Passwort</p>
    	<p><input type="submit" name="send"/> 
    	   <input type="reset"/>
    	</p>
    	</form>
    	
    	<p>Falls sie sich noch nicht registriert haben, können sie sich hier anmelden:</p>
    	<p><a href="/reg.php" value="Hier"/>Hier gehts zur Registrierung</p>
    	
    	<?php
    	include "mysqlconfig.inc.php";
    	
    	mysql_connect($host,$mysqluser,$mysqlpw);
    	mysql_select_db(db_xxxxxx_1);
    	
    	$query = "SELECT * FROM `user_tgt` WHERE `PW` = ' ".$passwort."' AND `User` = ' ".mysql_real_escape_string($user)." ' ";
    	$sql = mysql_query($query);
    	$row = mysql_fetch_array($sql);
    	
    	if (isset($_POST["send"]))
    	{
    	if ($row['User'] == $_POST['lguser'] AND $row['PW'] == $_POST['pass'] )
    	{
    	     echo "top";
    	}
    	else
    	{
    	    echo "flop";
    	}
    	}
    	?>
    </body>
    </html>
  7. d***********a

    Schreib mal bitte nach dem
    $sql = mysql_query($query);

    ein
    echo mysql_error();


    Und nehm zwischen den " und den ' die Leerzeichen raus
  8. privatecitypage

    Kostenloser Webspace von privatecitypage

    privatecitypage hat kostenlosen Webspace.

    die datenbank / Tabellle die du auslesen willst ist Leer so wie ich die Fehler Meldung verstanden habe.

    Mach mal ein Test Beitrag rein und probiere es nochmal.

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/se65jrj67/html/index.php on line 30
  9. Autor dieses Themas

    se65jrj67

    se65jrj67 hat kostenlosen Webspace.

    dapizzafressa schrieb: Schreib mal bitte nach dem
    $sql = mysql_query($query);

    ein
    echo mysql_error();



    gemacht passiert nix


    Und nehm zwischen den " und den ' die Leerzeichen raus


    hab ich nur gemacht weils in codefenster beim erstellen n bisschen unübersichtlich war^^

    privatecitypage schrieb: die datenbank / Tabellle die du auslesen willst ist Leer so wie ich die Fehler Meldung verstanden habe.

    Mach mal ein Test Beitrag rein und probiere es nochmal.


    in der datenbank steht test - test drin habs probiert geht auch net

    User  	varchar(12)  	latin1_swedish_ci  	  	Nein  	Kein  	 	  Zeige nur unterschiedliche Werte   	  Ändern   	  Löschen   	  Primärschlüssel   	  Unique   	  Index   	  Volltext
    
    PW 	varchar(32) 	latin1_swedish_ci 		Nein 	Kein 		Zeige nur unterschiedliche Werte 	Ändern 	Löschen 	Primärschlüssel 	Unique 	Index 	Volltext


    sind die einstellungen von der tabelle vll liegt da der felhler

    könnt ja auch die seite gehn http://se65jrj67.lima-city.de/ Ist auch meinem Webspace


  10. privatecitypage

    Kostenloser Webspace von privatecitypage

    privatecitypage hat kostenlosen Webspace.

    :-/ Du weißt schon das man mysql_fetch_assoc anders benutzt.

    <html>
    <head>
    <title> Titel </title>
    </head>
    <body>
    <h1>Login</h1>
    <p>Loggen sie sich bitte ein,
    um in den geschützten Bereich zu kommen.
    </p>

    <form action="index.php" method="post">
    <p><input name="lguser" maxlength="10"/> User</p>
    <p><input name="pass" maxlength="32" type="password"/> Passwort</p>
    <p><input type="submit" name="send"/>
    <input type="reset"/>
    </p>
    </form>

    <p>Falls sie sich noch nicht registriert haben, können sie sich hier anmelden:</p>
    <p><a href="/reg.php" value="Hier"/>Hier gehts zur Registrierung</p>

    <?php
    if (isset($_POST["send"]))
    {
    include "mysqlconfig.inc.php";

    mysql_connect($host,$mysqluser,$mysqlpw);
    mysql_select_db(db_xxxxxx_1);

    $query = "SELECT * FROM `user_tgt` WHERE `PW` = ".md5($passwort)." AND `User` = ".mysql_real_escape_string($user);
    $result = mysql_fetch_object($query) or $var = 1;
    if($var == 1)
    {
    echo("FLOP");
    } else {
    echo("TOP");
    }


    }
    ?>
    </body>
    </html>


    Probiere es mal so.

    Beitrag zuletzt geändert: 15.4.2010 1:39:58 von privatecitypage
  11. @se65jrj67
    ... Weshalb kommt dort immer flop heraus ...
    yo mey!
    da steht im kode:
    $duser = mysql_fetch_assoc($benutzer);
    ...
    $dpw = mysql_fetch_assoc($passwort);
    das heißt dann $duser und $dpw sind arrays und genau darum kann
    if ($duser == $_POST['lguser'] AND $dpw == $_POST['pass'] ) {
    nie erfüllt sein;o)
    probier mal das (**** NICHT GETESTET! ****):
    <html>
    <head>
    	<title> Titel </title>
    </head>
    <body>
    	<h1>Login</h1>
    	<p>Loggen sie sich bitte ein,
    	um in den geschützten Bereich zu kommen.
    	</p>
    	
    	<form action="index.php" method="post">				
    	<p><input name="lguser" maxlength="10"/> User</p>
    	<p><input name="pass" maxlength="32" type="password"/> Passwort</p>
    	<p><input type="submit" name="send"/> 
    	   <input type="reset"/>
    	</p>
    	</form>
    	
    	<p>Falls sie sich noch nicht registriert haben, können sie sich hier anmelden:</p>
    	<p><a href="/reg.php" value="Hier"/>Hier gehts zur Registrierung</a></p>
    	
    <?php
    include "mysqlconfig.inc.php";
    	
    mysql_connect ($host, $mysqluser, $mysqlpw);
    $db = "db_xxxxxx_1";
    $tb = "user_tgt";
    // das kannst weglassen, steht im query in der var $db
    //mysql_select_db(db_xxxxxx_1); 
    
    
    if ( isset ($_POST["send"]) ) {
      $q = "-- query v1-2010-04-15
      select trim(User) User, trim(PW) PW
      from $db.$tb
      where User='".trim($_POST['lguser'])."' and PW='".trim($_POST['pass'])."'";
      
      // if error, exit!
      if ( !$r = mysql_query ($q) ) {exit ("<h3>ERROR:</h3>".mysql_errno()."<br />".mysql_error());}
      
      // show result
      while ( $row = mysql_fetch_assoc ($r) ) {foreach ( $row as $k => $v ) {echo "<p>$k = $v</p>";}}
    }
    ?>
    </body>
    </html>
    und falls nötig poste die fehlerausgabe.

    nebenbei: dein anchor
    <p><a href="/reg.php" value="Hier"/>Hier gehts zur Registrierung</p>
    war nicht geschlossen (ab da war natürlich alles ein link ;o)

    noch ein ratschlag:
    so was nebuloses wie 'top'/'flop' kannst für testzwecke nicht ernsthaft einsetzen. dich sollte nur die exakte fehlermeldung interessieren [siehe im kode]!
  12. Autor dieses Themas

    se65jrj67

    se65jrj67 hat kostenlosen Webspace.

    @ privatecitypage geht leider net

    @ czibere scheint zu funktionieren wers mal noch bisschen verändern

    danke an alle die mir geholfen haben und helfen wollten :prost::biggrin:
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!