Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

gelöst:Problem beim Login (keine if berücksichtigung)

Diskussion: gelöst:Problem beim Login (keine if berücksichtigung) im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige PHP-Code: <?php //login_script.php      include  "config.php" ;     if( $_POST [ 'action' ] ==  'login' ) {      session_unset ();      session_start ...

Antwort
Alt 11.07.06, 12:09   #1 (permalink)
 
Registriert seit: 25.06.06
0wnZ Leistung: Facit NTK
0wnZ eine Nachricht über ICQ schicken
Likes: 0
gelöst:Problem beim Login (keine if berücksichtigung)

Anzeige

PHP-Code:
<?php
//login_script.php
    
include "config.php";

    if(
$_POST['action'] == 'login') {
    
session_unset();
    
session_start();

    
$error '';
    if (empty (
$_POST['name'])) { $error "Sie m&uuml;ssen einen Benutzernamen angeben";
    } elseif (
preg_match("/[^a-zA-Z0-9\-_]/",$_POST['name'])) $error 'Dein Username darf nur aus Buchstaben , Zahlen &qout;-&qout; und &qout;_&qout; bestehen';
    if (empty (
$_POST['password'])) { $error "Sie m&uuml;ssen Ihr Passwort eingeben"
    } elseif (
preg_match("/[^a-zA-Z0-9\-_]/",$_POST['password'])) $error 'Dein Passwort darf nur aus Buchstaben , Zahlen &qout;-&qout; und &qout;_&qout; bestehen';
     if(
$error == '') {
        
mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
        
mysql_select_db($db_name) or die(mysql_error());

        
$sql 'SELECT
                       ID,Name,Password
                FROM 
                       users 
                WHERE 
                       Name="$name"'
;
        
        
$result mysql_query($sql);
        
$user mysql_fetch_assoc($result);

        if(!isset(
$user['Name'])) { $error "Benutzername nicht gefunden"; }
        if(
$user['Password'] != md5($_POST['password'])) { $error "Sie haben das falsche Passwort eingegeben"; }

        if(
$error == '') {
            
/*
             * Hier her gehört jetzt das Session erstellen...
             */
            
session_unset();
            
session_name('sid');
            
session_start();

            
$_SESSION['userid']   = $user['ID'];
            
$_SESSION['username'] = $user['Name'];

            
/*
             * Hier kommt jetzt die Erfolgsmeldung und die automatische Weiterleitung zum Game hin
             */
            
echo "Sie haben sich erfolgreich eingeloggt!";
            echo 
"Hier geht weiter <a href='link.php'>zum Spiel</a>";
            die();
        }
    }
}

?>


<?php if($error != '') {
  
    echo 
"<br>\n";
    echo 
"Beim Login ist ein Fehler aufgetreten:<br>\n";
    echo 
$error;
    
}
/*
 * Ende der login.php
 * Start der logout.php
 *
 *
 *session_unset();
 *session_destroy();
 *echo "Sie haben sich erfolgreich ausgeloggt";
 *
 * Ende der logout.php
 * Start von allgemeinen Informationen
 */
 
?>
Dieses Script funktioniert soweit nicht , indem es obwohl nichts eingegeben wurde als ersten Fehler "Sie müssen Ihr Passwort eingeben" ausgibt(nicht "Sie müssen einen Benutzernamen angeben"), des weiteren ist obwohl ich das richtige Passwort eingebe , kommt die Fehlermeldung ich , dass ich das falsche Passwort eingegeben hätte.
Ihr könnts gerne selber ausprobieren unter diesem Link
bitte keine beschwerden über das Design dadran wird noch gearbeitet (ihr könnt euch auch gerne Registrieren um zu testen ob das mit dem Passwort geht).

Falls ihr aber schon so Fehler bei diesem Script findet auch bescheid sagen.

Mit freundlichen Grüßen
0wnZ
0wnZ ist offline   Mit Zitat antworten
Alt 11.07.06, 12:30   #2 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

also

1.
Zitat:
$sql = 'SELECT
ID,Name,Password
FROM
users
WHERE
Name="$name"';
FALSCH richtig so:
PHP-Code:
        $sql "SELECT
                       ID,Name,Password
                FROM 
                       users 
                WHERE 
                       Name='$name'"

2.wie kann man eine session_unseten wenn sie noch net gestartet wurde? das erstmal anders rum und wieso bitte 2x session_start und unset einmal ganz am Anfang reicht

EDIT: der Wert von $name wird auch nicht gestzt
CPU8080 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 11.07.06, 13:06   #3 (permalink)
Themenstarter
 
Registriert seit: 25.06.06
0wnZ Leistung: Facit NTK
0wnZ eine Nachricht über ICQ schicken
Likes: 0
Standard

Jo gute idee hilfr leider auch nit
[PHP]<?php $sql = "SELECT
ID,Name,Password
FROM
users
WHERE
Name='.$name.'"; ?>
so müsste es aussehen hab aba ^^
ich hab $name garnit definiert ich depp
0wnZ ist offline   Mit Zitat antworten
Alt 11.07.06, 13:11   #4 (permalink)
 
Registriert seit: 22.06.06
PHRoZeNCReW Leistung: Facit NTK
Likes: 0
Standard

Es ist logisch, dass immer die fehlermeldung "Sie müssen Ihr Passwort eingeben" ausgegeben wird, wenn man weder usernamen noch passwort angibt, da die variable $error wieder neu definiert bzw. "überschrieben" wird

das würd ich so machen

PHP-Code:
<?php

$error 
'';
    if (empty (
$_POST['name'])) { $error .= "Sie m&uuml;ssen einen Benutzernamen angeben <br>";
    } elseif (
preg_match("/[^a-zA-Z0-9\-_]/",$_POST['name'])) $error .= 'Dein Username darf nur aus Buchstaben , Zahlen &qout;-&qout; und &qout;_&qout; bestehen<br>';
    if (empty (
$_POST['password'])) { $error .= "Sie m&uuml;ssen Ihr Passwort eingeben<br>"
    } elseif (
preg_match("/[^a-zA-Z0-9\-_]/",$_POST['password'])) $error .= 'Dein Passwort darf nur aus Buchstaben , Zahlen &qout;-&qout; und &qout;_&qout; bestehen';

?>
Edit:

probiers mal so

PHP-Code:
<?php 

$sql 
"SELECT
ID,Name,Password
FROM 
users 
WHERE 
Name= '"
.$_POST['name']."'";

 
?>
PHRoZeNCReW ist offline   Mit Zitat antworten
Alt 11.07.06, 13:44   #5 (permalink)
Themenstarter
 
Registriert seit: 25.06.06
0wnZ Leistung: Facit NTK
0wnZ eine Nachricht über ICQ schicken
Likes: 0
Standard

haut nich hin
dann kommt
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /usr/export/www/hosting/maofem/login_script.php on line 22
0wnZ ist offline   Mit Zitat antworten
Alt 11.07.06, 13:48   #6 (permalink)
 
Registriert seit: 22.06.06
PHRoZeNCReW Leistung: Facit NTK
Likes: 0
Standard

Also wenn du den code wirklich zeichen für zeichen übernommen hast

PHP-Code:
<?php 

$sql 
"SELECT
ID,Name,Password
FROM 
users 
WHERE 
Name = '"
.$_POST['name']."'";

 
?>
dürfte da eigentlich kein parse error angezeigt werden
PHRoZeNCReW ist offline   Mit Zitat antworten
Alt 11.07.06, 14:30   #7 (permalink)
Themenstarter
 
Registriert seit: 25.06.06
0wnZ Leistung: Facit NTK
0wnZ eine Nachricht über ICQ schicken
Likes: 0
Standard

genau so
PHP-Code:
  $sql " SELECT
                       ID,Name,Password
                FROM 
                       users 
                WHERE 
                       Name = ' " 
.$_POST['name'" ' " 
und es gegt nit ^^ kannst ja selbst nachschauen einfach den oben geschrieben Link klicken

ich se grad hab den punkt vergessen ^^ srü
0wnZ ist offline   Mit Zitat antworten
Alt 11.07.06, 15:23   #8 (permalink)
 
Registriert seit: 22.06.06
PHRoZeNCReW Leistung: Facit NTK
Likes: 0
Standard

Falls es immernoch nicht funktioniert, vergewissere dich mal, dass der mysql-spaltenname wirklich "Password" lautet (groß- und kleinschreibung beachten) und, dass bei der Registrierung das Passwort auch wirklich mit der md5() Funktion verschlüsselt in die DB eingetragen wird ..
PHRoZeNCReW ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » gelöst:Problem beim Login (keine if berücksichtigung)
Themen-Optionen
Ansicht

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.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
gelöst - pillepalle brauch wieder hilfe beim film-quiz -= pillepalle =- Music- & Filmbox 27 12.09.09 03:06
Seltsame Verzoegerungen beim Remote-Login bitmuncher Linux/UNIX 5 21.09.07 17:46
[gelöst] Fehler beim Lesen des Datenträgers Bogi Die Problemzone 0 08.10.06 11:04
Zahlencodefenster beim login umgehen Skylive (In)security allgemein 1 15.02.05 17:44
Keine Möglichkeit zum Login Indi Windows 7 20.11.03 20:09


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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61