WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 30.11.2004, 12:59   #1
fenster
Master
 
Registriert seit: 29.12.2001
Beiträge: 797


Standard sql abfrage prüfen (login fenster)

hallo

habe da folgendes problem

habe mir da ein login fenster gemacht mit einer
server seitigen session

in meiner datenbank sind user daten mit
benutzter name umd passwort gespeichert

jetzt funz das wenn ich mich zb:
mit user sepp und passwort 123456 einlogge

wenn ich aber einen user eingebe im login fenster
der nicht in der datnebank steht und natürlich auch kein pw


kommt eine fehlermeldung die nicht kommen soll
connection zu datenbank fehlt usw....




wie kann ich jetzt mit php abfragen bzw. prüfen
ob der user und das pw das in das formular
eingetragen wurde überhaubt in der datenbank steht ?

gruß
fenster
fenster ist offline   Mit Zitat antworten
Alt 30.11.2004, 13:18   #2
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

mach doch einfach ne abfrage

select count(*) from User where password=123 and user=456

davon kriegst entweder 1 oder 0 zrück (außer du hast mehrer user mit gleichem pwd/user ), je nachdem ob vorhanden oder nicht.

mfg Thomas
T.dot ist offline   Mit Zitat antworten
Alt 30.11.2004, 14:51   #3
fenster
Master
 
Registriert seit: 29.12.2001
Beiträge: 797


Standard die abfrage habe ich schon

hallo

die abfarge habe ich schon

Code:
<?php
session_start(); // Start der Sitzung
// Session Variable müssen "global" sein
global $strName, $Password ;
// Variable "registrieren" siehe weiter unten



// Prüfung, wenn Benutzer keine Berechtigung hat
echo "Ihre Session: $strName<hr>";

if(!isset($strName) || !isset($Password))
  {
 
      //global $POST;

    if(isset($_POST["form_username"]))
      {
        $zw_username    =   $_POST["form_username"];
        $zw_passwort    =   $_POST["form_password"];
				
        // Verbimdung zu datnbank herstellen
				
				   include ("../connect_database.inc.php");
				
				// * Abfrage der Datenbank 
	 
	       $sql_Abfrage = "SELECT passwort FROM kunde WHERE
				                 kundennr = $zw_username"; 
	 
	      // * Auslesen der Zeilen die in der Datenbank sind *******
	
	      $Resultat = mysql_query($sql_Abfrage)
	         or die("
Query fehlerhaft SQL meldet: ".mysql_error());
				 
				  
	       // * Meldung für Admin *******		 
	       // echo "SQL meldet: ".mysql_error();
	 
	    
			
			
			  $v = mysql_result($Resultat,0,passwort);
				
				
				if($zw_passwort != $v)
          {
            echo "

Keine Berechtigung / Prüfen Sie, bitte, Ihre Eingaben

                  <a href = 'login.php'>Neuer Login-Versuch</a>";
            exit;
          }
       
          else
          {
            session_register("strName");
            $strName    =   $zw_username;
            session_register("Password"); .................





aber wie frage ich jetzt mit einer if
anweisung ab


gruß
fenster
fenster ist offline   Mit Zitat antworten
Alt 30.11.2004, 15:06   #4
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

Nein, die Abfrage hast du nicht, aber macht nix.

wenn du deine sachen so lassen willst:

$result = mysql_query("SELECT passwort FROM kunde WHERE kundennr = $zw_username);
$row = mysql_fetch_row($result);

und dann schaust halt ob im array was drin is:
if (count($row) > 1)
...

und du solltest nicht so:
if(!isset($strName) || !isset($Password))

auf Session Variablen zugreifen!

sondern:
vars registrieren: session_register("vari")
überprüfen ob registriert: session_is_registered("vari")
zugreifen: $_SESSION['vari'] = ...

mfg T.
T.dot ist offline   Mit Zitat antworten
Alt 30.11.2004, 16:36   #5
fenster
Master
 
Registriert seit: 29.12.2001
Beiträge: 797


Standard also irgentwie funzt das immer noch nicht

hallo

also irgentwie funz das immer noch nicht
ein zweites mal abfragen muss ich ja nicht


Code:
$v = mysql_result($Resultat,0,passwort);
				
				if (count($v) > 1){
            echo "true";
          }
            else {
            echo "false";
				    exit;
          }
fenster ist offline   Mit Zitat antworten
Alt 30.11.2004, 16:52   #6
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard Re: also irgentwie funzt das immer noch nicht

Zitat:
Original geschrieben von fenster
also irgentwie funz das immer noch nicht
ich rate ja gerne, aber manchmal komm ich einfach ned drauf: was genau funktioniert nicht, oder gar nix, ab wo nicht, in welcher zeile ist der fehler, welcher fehler, Was für eine Ausgabe kommt beim testen deines codes?

Zuhause hätt ich ziemlich genau dein script rumliegen, dauert aber noch bis ich dort mal vorbeikomm.

mfg Thomas
T.dot ist offline   Mit Zitat antworten
Alt 30.11.2004, 17:03   #7
fenster
Master
 
Registriert seit: 29.12.2001
Beiträge: 797


Standard datenbank

hallo

ich habe in meiner datenbank den user 2 mit dem pw 123456
angelegt
wenn ich user 2 und pw 123456 im login fenster
eingebe funktioniert das einloggen

wenn ich aber jetzt einen user zb.: user 3 den
es in der dantbank nicht gibt

im login script eintrage
dann möchte ich eine fehlermeldung haben
dass der user nicht vorhanden ist oder sonstiges ...

ich brache hier also eine prüfung ob es den user 3
überhaubt gibt

und das ist mein prob.


wenn ich user 3 ohne pw in das login fenster eingebe
kommt die fehlermeldung

Warning: Unable to jump to row 0 on MySQL result index 2 in c:\programme\easyphp\www\testprojektkunden\login\l ogin.php on line 42
false



gruß
fenster
fenster ist offline   Mit Zitat antworten
Alt 30.11.2004, 18:34   #8
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Tja, so ein RTFM hilft doch wahre Wunder.
Zitat:
Fehler, die vom MySQL Server kommen, führen nicht mehr zu einer Ausgabe von Warnungen. Stattdessen sollten Sie die Funktion mysql_errno() verwenden, um die Fehlernummer zu erhalten.
http://www.php.net/manual/de/function.mysql-errno.php
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 30.11.2004, 18:34   #9
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

lesen hilft: http://www.selfphp.info/funktionsref...onen/index.php

Forumssuche hilft

und Google hilft!

das reicht bei mir zum überprüfen:
PHP-Code:
      $user "123";
      
$pwd "4567";

    
$result mysql_db_query("dbtest","SELECT * FROM User WHERE Nummer='$user' AND Passwort='$pwd'");
    
    
$row mysql_fetch_row ($result);
    
    if(
is_array($row))
    {
        echo 
"eingeloggt";
    }
?> 
T.dot ist offline   Mit Zitat antworten
Alt 30.11.2004, 19:06   #10
fenster
Master
 
Registriert seit: 29.12.2001
Beiträge: 797


Standard funzt schon

hallo


danke für die tipps
funzt schon


gruß
fenster
fenster ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:11 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag