php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.12.2004, 07:52  
Gast
 
Beiträge: n/a
Standard [Erledigt] Anmeldescript Login-Fehler!

He Leute, ich habe ein riesiges Problem, ich habe ein anmelde script geschrieben!

Aber ich kann mich anmelden so oft ich will, er bringt immer wieder das Anmeldeformular... Und ich weis net warum, mit der mysql stimmt alles, und auch sonst wird kein fehler angezeigt, hab ich vielleicht was wichtiges vergessen, oder einen logischen oder syntaktischen Fehler im script, oder muss ich bei der Mysqldatenbank was beachten, müssen die felder was bestimmtes erfüllen??!! ich bitte um Antwort... Wenn jemand noch verbesserungsvorschläge hat, kann er sie ja auch dazuschreiben... :P vielen Dank für die Hilfe mfg menx

P.S: Laut Datenbank ist Benutzer Maxi und Pw: shitbvb
www.max-coding.net/admin.php da könnt ihr es testen, versucht doch mal euch anzumelden...

Es wäre echt wichtig für mich...

----------------------------------------------------------------------------------
Admin.php
----------------------------------------------------------------------------------
Code:
<?php
ob_start();
?>

<html>
<body>
<?php 

include ("config.php"); // Einbindung der Konfigurationsdatei

$getdata = mysql_query("SELECT username,password,id FROM users WHERE username = '$_POST['user']' LIMIT 1");
$data = mysql_fetch_array($getdata);
$db_user = $data ["username"];
$db_pass = $data ["password"];

$db_user_id = $data ["id"];

if (($user == $db_user) && ($pass == $db_pass)) //Vergleich mit Datenbankpw
{
	setcookie($_COOKIE['uid_cookie'], $db_user_id, time()+3600); //Cookies werden gesetzt
	setcookie($_COOKIE['pass_cookie'], $pass, time()+3600);
}

			if ((isset ($_COOKIE['uid_cookie'])) && (isset ($_COOKIE['pass_cookie']))) //Kontolle ob Cookies gesetzt
			{
				    if (($_COOKIE['uid_cookie'] == $db_user_id) && ($_COOKIE['pass_cookie'] == $db_pass))
				    {
				    	//GRUPPEN ABFRAGEN
				    	$getdata = mysql_query("SELECT `groupid` from `users` WHERE `id` = $_POST['uid_cookie'] LIMIT 1;");
				    	$data = mysql_fetch_array($getdata);
				    	
				    	$db_group = $data["groupid"];
				    	//GRUPPEN ABFRAGEN ENDE
				    	
				    	echo "Willkommen  $user 

				    				Sie können nun die Administartion ihrer Seite vornehmen! 

				    				Bei Fragen, Bugs oder Ähnlichem mailen Sie bitte an maxi@living-crew.de

";
				    				
				    				switch($action)
				    				{
				    					case "news": {
				    														if (($db_group == 1) || ($db_group == 2))   {
				    														
				    																				//admin und mod
				    																				echo "Admin und Mod Bereich"; 
				    														
				    															} else if ($db_group == 3) {
				    																
				    																				//user
				    															
				    															} else {
				    															
				    																				//gast
				    															
				    																			}
				    																break;
				    											  }
				    											  
				    					case "links": { 	break; }
				    					
				    					default: 
				    					
				    					echo 'Seite leider nicht gefunden'; break;
				    				}
				    	}
				      else
				      { 
				      	echo 'Zugriff verweigert! Benutzername oder Passwort falsch';
				      }
				}
				else
				{

					echo " Willkommen beim Adminpanel-Login für ihre Seite: $titel 
								 
 Bitte geben sie ihre Logindaten ein 


								 Cookies müssen aktiviert sein
								 
								 <form name =\"loginform\" action = \"admin.php\" method = \"post\">
								 		<input name = \"user\"> Benutzername 


								 		<input name = \"pass\"> Passwort 


								 		<input type = \"submit\">
								 		<input type = \"reset\">
								 </form>";
				}
				

ob_end_flush();				
?>

----------------------------------------------------------------------------------
config.php
----------------------------------------------------------------------------------


Code:
<?php

//Datenbankinformationen! Tragen Sie bitte ihre Daten ein

$conn_ip = "localhost";
$conn_user = ".....";
$conn_pw = ".....";
$conn_db = "....";

$tabellenprefix = "sk"; // standard ist "sk" (nicht aktiv aTm)

// Datenbankinformationen Ende 

// Konfiguration der Seite

$titel = "Max-Coding.net";

// AB HIER NIX MEHR ÄNDERN !

// Verbindung herstellen
mysql_connect($conn_ip, $conn_user, $conn_pw) OR die("Fehler bei der Verbindung zur Datenbank.<hr>".mysql_error());
// Datenbank auswaehlen
mysql_select_db($conn_db) OR die("Fehler bei der Verbindung zur Datenbank.<hr>".mysql_error());
// Verbindungsdaten löschen
unset($conn_host,$conn_user,$conn_pw,$conn_db);
?>
-----------------------------------------------------------------------------------
Mysql Felder
-----------------------------------------------------------------------------------
Tabelle users:

Feld Typ Attribute Null Standard Extra Aktion
id int(11) Nein 3
username varchar(15) Nein
password varchar(15) Nein
groupid char(3) Nein
name varchar(30) Nein
------------------------------------------------------------------------------------
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.12.2004, 08:44  
Gast
 
Beiträge: n/a
Standard

hm ich bezweifel das dieser thread zu den profis gehört!

aber wenn das anmeldformular immer wieder angezeigt wird liegt es an der vergleich situation

Code:
if (($user == $db_user) && ($pass == $db_pass))
lass dir mal die vars ausgeben

Code:
echo $user;
echo $db_user;
echo $pass;
echo $db_pass;
notfalls kontrolliere auch mal die data vars! vielleicht kommt nix aus der DB
  Mit Zitat antworten
Alt 22.12.2004, 09:03  
Gast
 
Beiträge: n/a
Standard Ja

He du hast recht, schau www.max-coding.net/admin.php

Da werde´n jetzt die Variablen ausgegeben... Und $db_user und $db_pass werden nicht ausgegeben....

Was is da falsch in der mysql anweisung, was ist denn da nicht richtig...
bitte helft mir...
  Mit Zitat antworten
Alt 22.12.2004, 09:25  
Gast
 
Beiträge: n/a
Standard

ok.
optimieren wir erstmal deinen connect.

config.php
abändern in:
Code:
  $link = mysql_connect("localhost", "DBUSER", "DBPW")
    or die("Keine Verbindung möglich!");
  mysql_select_db("DBName")
    or die("Auswahl der Datenbank fehlgeschlagen");
dann der select in der datei:

Code:
$getdata = mysql_query("SELECT username,password,id FROM users WHERE username = '$_POST['user']' LIMIT 1"); 
$data = mysql_fetch_array($getdata);
ändern in
Code:
$sql = "SELECT * FROM users WHERE username = '".$_POST['user']."'";
$result = mysql_query($sql);
$row = mysql_fetch_object($result);
so würde ich die abfrage machen
eventuell tipfehler drinnen
dann lass die mal die
$row->user
$row->rowpassword
ausgeben
kontrolliere auch nochmal die felder aus richtigkeit
also ob die feld und db name exakt gleich geschrieben sind
  Mit Zitat antworten
Alt 22.12.2004, 09:40  
Gast
 
Beiträge: n/a
Standard ok

Also, hab jetzt alles umgeändert, und es liegt immernoch gleicher fehler vor, das script ist jetzt wie folgt


Admin.php

PHP-Code:
<?php
ob_start
();
?>

<html>
<body>
<?php 

include ("config.php"); // Einbindung der Konfigurationsdatei

$sql "SELECT * FROM users WHERE username = '".$_POST['user']."'"
$result mysql_query($sql); 
$row mysql_fetch_object($result);

$db_user $row ["username"];
$db_pass $row ["password"]; 
$db_user_id $row ["id"];

if ((
$user == $db_user) && ($pass == $db_pass)) //Vergleich mit Datenbankpw
{
    
setcookie($_COOKIE['uid_cookie'], $db_user_idtime()+3600); //Cookies werden gesetzt
    
setcookie($_COOKIE['pass_cookie'], $passtime()+3600);
}

            if ((isset (
$_COOKIE['uid_cookie'])) && (isset ($_COOKIE['pass_cookie']))) //Kontolle ob Cookies gesetzt
            
{
                    if ((
$_COOKIE['uid_cookie'] == $db_user_id) && ($_COOKIE['pass_cookie'] == $db_pass))
                    {
                        
//GRUPPEN ABFRAGEN
                        
$getdata mysql_query("SELECT `groupid` from `users` WHERE `id` = $_POST['uid_cookie'] LIMIT 1;");
                        
$data mysql_fetch_array($getdata);
                        
                        
$db_group $data ["groupid"];
                        
//GRUPPEN ABFRAGEN ENDE
                        
                        
echo "Willkommen  $user 

                                    Sie können nun die Administartion ihrer Seite vornehmen! 

                                    Bei Fragen, Bugs oder Ähnlichem mailen Sie bitte an [email]maxi@living-crew.de[/email]

"
;
                                    
                                    switch(
$action)
                                    {
                                        case 
"news": {
                                                                            if ((
$db_group == 1) || ($db_group == 2))   {
                                                                            
                                                                                                    
//admin und mod
                                                                                                    
echo "Admin und Mod Bereich"
                                                                            
                                                                                } else if (
$db_group == 3) {
                                                                                    
                                                                                                    
//user
                                                                                
                                                                                
} else {
                                                                                
                                                                                                    
//gast
                                                                                
                                                                                                
}
                                                                                    break;
                                                                  }
                                                                  
                                        case 
"links": {     break; }
                                        
                                        default: 
                                        
                                        echo 
'Seite leider nicht gefunden'; break;
                                    }
                        }
                      else
                      { 
                          echo 
'Zugriff verweigert! Benutzername oder Passwort falsch';
                      }
                }
                else
                {

                    echo 
" Willkommen beim Adminpanel-Login für ihre Seite: $titel 
                                 
 Bitte geben sie ihre Logindaten ein 


                                 Cookies müssen aktiviert sein
                                 

 User: $user 

My_sql User: $db_user 
 
Passwort: $pass 

My_sql Passwort: $db_pass 

                                 
                                 <form name =\"loginform\" action = \"admin.php\" methode = \"get\">
                                         <input name = \"user\"> Benutzername 


                                         <input name = \"pass\"> Passwort 


                                         <input type = \"submit\">
                                         <input type = \"reset\">
                                 </form>"
;
                }
                

ob_end_flush();                
?>



Config.php

PHP-Code:
<?php

//Datenbankinformationen! Tragen Sie bitte ihre Daten ein

$conn_ip "localhost";
$conn_user "kerniger";
$conn_pw "shitbvb";
$conn_db "kerniger";

$tabellenprefix "sk"// standard ist "sk"

// Datenbankinformationen Ende 

// Konfiguration der Seite

$titel "Max-Coding.net";

// AB HIER NIX MEHR ÄNDERN !

// Verbindung herstellen
$link mysql_connect("localhost""$conn_user""$conn_pw"
    or die(
"Keine Verbindung möglich!"); 
  
mysql_select_db("$conn_db"
    or die(
"Auswahl der Datenbank fehlgeschlagen");
    
   
?>
Was is denn blos noch falsch, ich verzweifle fast...
  Mit Zitat antworten
Alt 22.12.2004, 09:47  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ein error_reporting(E_ALL); kannst ud zum testen mal einbauen, das hilft oftmals

dein fehler liegt glaube ich hier:

Zitat:
$row = mysql_fetch_object($result);

$db_user = $row ["username"];
$db_pass = $row ["password"];
$db_user_id = $row ["id"];
du holst s als objekt und greifst auf ein array zu

entweder mysql_fetch_assoc verwenden oder $row->username und $row->password bentzen
robo47 ist offline   Mit Zitat antworten
Alt 22.12.2004, 09:52  
Gast
 
Beiträge: n/a
Standard

naja, danke aber das wars leider auch nicht,

weil mit assoc geht auch nichts...

Also kein resultat ob object oder assoc...

habt ihr noch ne idee?
  Mit Zitat antworten
Alt 22.12.2004, 09:59  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Zitat:
$sql = "SELECT * FROM users WHERE username = '".$_POST['user']."'";
$result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_assoc($result) or die(mysql_error());
var_dump($row);
$db_user = $row ["username"];
$db_pass = $row ["password"];
$db_user_id = $row ["id"];
}
else
{
echo 'hier gibts nix';
}
und arbeite bitte bei mysql-befehlen immer mit or die(mysql_error()); damit man gleich sieht ob dort ein fehler vorliegt.
robo47 ist offline   Mit Zitat antworten
Alt 22.12.2004, 10:15  
Gast
 
Beiträge: n/a
Standard

jetzt gibt er mir auch, hier gibts nix !!!


Aber von den mysqlwerten, weit und breit nix zu sehen!!
  Mit Zitat antworten
Alt 22.12.2004, 10:20  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

mach mal


$sql = "SELECT * FROM users WHERE username = '".$_POST['user']."'";
echo $sql;


anstatt nur

$sql = "SELECT * FROM users WHERE username = '".$_POST['user']."'";

und dann geh mal in phpmyadmin und schau in der datenbank ob da überhaupt ein eintrag drin ist der mit dem namen so heißt
robo47 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
fehler bei login phyton Datenbanken 7 17.06.2007 12:27
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
mySQL - Login über Datenbank - Fehler zwerg PHP Tipps 2005-2 3 25.09.2005 17:57
[Erledigt] Login, LogIn, Anmelden, Einloggen -&amp;amp;amp;amp;gt; ??? Off-Topic Diskussionen 20 14.07.2005 11:01
Login Script Fehler b++ PHP Tipps 2005-2 11 01.07.2005 02:47
Nach Login Fehler PHP Tipps 2005 2 19.05.2005 11:33
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Login Fehler - And / OR ? CHRIS PHP Tipps 2004-2 5 30.11.2004 21:37
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Hilfe ich finde den Fehler nicht! PHP Tipps 2004 2 07.10.2004 17:40
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
Fehler bei Login PHP Tipps 2004 25 01.08.2004 15:51
Fehler im Login Script PHP Tipps 2004 3 06.07.2004 20:37
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php anmeldescript, php cookies müssen aktiviert sein, anmeldescript php, $_cookie[, anmeldeskript zugriff verweigert, http://www.php.de/php-fortgeschrittene/14589-erledigt-anmeldescript-login-fehler.html, anmeldescript einbauen, login fehler

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.