php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.06.2005, 15:45  
Gast
 
Beiträge: n/a
Standard Login-Script Probleme

Hallo Ihr,

ich habe mit meinem Login-Script ein Problem und hoffe jemand weiß Rat. Während die erste Seite, nach dem Login aufgerufen wird, problemlos funktioniert, kann ich nicht auf Seite gelangen und er bringt mir immer die Meldung: keinen Zutritt, sprich irgendwie werden die Daten wohl nicht übergeben...ich kann aber nicht erkennen, wo genau nicht:

Die Login-HTML-Seite:

PHP-Code:
<html>
<
head>
<
title>Eingabe Projekt</title>
<
link rel="stylesheet" media="screen" href="meta.css"></head>
<
body>
<
h1 align="center">Meta Systems Projektdatenbank Login


</h1>
<
form class=body action="login.php" method="post" align="center">
<
DIV class=fieldframe align="center">
<
TABLE cellSpacing=1 cellPadding=2 width="100%" border=0 align="center">
  <
TBODY>
  <
TR class=field>
    <
TD>
      <
DIV class=field>
      <
div align="center">
        <
center>
      <
TABLE cellSpacing=0 cellPadding=2 width="100%">
        <
TBODY>
        <
TR>
<
td class=label style="WIDTH: 30%; min-width: 50px; max-width: 200px">Username:</td>
<
td class=input style="WIDTH: 70%; min-width: 70%"><input class=inputform type="text" name="username" size="34"></TD></TR></TBODY></TABLE></center>
      </
div>
      </
DIV></TD></TR>
 <
TR class=field>
    <
TD>
      <
DIV class=field>
      <
TABLE cellSpacing=0 cellPadding=2 width="100%">
        <
TBODY>
        <
TR>
<
td class=label style="WIDTH: 30%; min-width: 50px; max-width: 200px">Password:</td>
<
td class=input style="WIDTH: 70%; min-width: 70%"><input class=inputform type="password" name="password" size="34"></TD></TR></TBODY></TABLE></DIV></TD></TR>
  </
TBODY></TABLE></DIV>
<
DIV class=buttonframe style="HEIGHT: 23px"><INPUT class=button style="FLOAT: left" type=submit value=Abbrechen name=cancel><INPUT
type
=hidden value=index name=session_nextpage_1><INPUT class=button style="FLOAT: right" type=submit value=Abschicken name=ok></DIV></FORM></form>
</
body></html
Die erste Seite die nach dem Login aufgerufen wird un korrekt funktioniert:
PHP-Code:
<?php

session_start
();
$sid session_id();
$db_host "localhost";
$db_user "whatever";
$db_password "whatever";
$db "whatever";

mysql_connect($db_host$db_user$db_password) or die ("Es konnte keine Verbindung zur MySql hergestellt werden.");
mysql_select_db($db) or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden.");
$password $_POST['password'];
$username $_POST['username'];
$query "SELECT * FROM pro_usertable WHERE password = '$password' AND username='$username'";
$result mysql_query($query) or die(mysql_error());
while(
$row mysql_fetch_array($result)){
  
$checkuser $row['username'];
  
$checkpassword $row['password'];
  
$function $row['function'];
}
  echo 
"<html><head><title>Eingabe Projekt</title>";
  echo 
"<link rel=\"stylesheet\" media=\"screen\" href=\"meta.css\"></head>";
  echo 
"<body><h1 align=\"center\">Meta Systems - Projektdatenbank</h1>";
  if(
$username == $checkuser && $password == $checkpassword) {
    
session_register("username","password");
    echo 
"[url='tageszettel.php?sid=".$sid."']Tageszettel ausf&uuml;llen[/url]";
    echo 
"[url='tageszettel_uebersicht.php?sid=".$sid."']Tageszettel &Uuml;bersicht[/url]";
    if (
$function == "admin") {
        echo 
"[url='new_user.php?sid=".$sid."']User anlegen[/url]";
        echo 
"[url='new_projekt.php?sid=".$sid."']Projekt anlegen[/url]";
        echo 
"[url='projekt_uebersicht.php?sid=".$sid."']Projekt &Uuml;bersicht[/url]";
    }
    echo 
"[url='logout.php']Logout[/url]";
    echo 
"

Hallo $username,</p>"
;
    echo 
"

Bitte Aktion aus oben stehenden Men&uuml; ausw&auml;hlen.</p>"
;
    echo 
"</body></html>";
  } else {
    echo 
"Deine Daten sind falsch, bitte gehe zurück und verbessere diese!";
  }

?>
Wenn ich nun einen Link oben anklicke, wie zum Beispiel neuen User anlegen, öffnet sich folgende Seite:

PHP-Code:
<?php
session_start
();

session_register("username","password","sid");

$db_host "whatever";
$db_user "whatever";
$db_password "whatever";
$db "whatever";

mysql_connect($db_host$db_user$db_password) or die ("Es konnte keine Verbindung zur MySql hergestellt werden.");
mysql_select_db($db) or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden.");

$password $HTTP_SESSION_VARS['password'];
$username $HTTP_SESSION_VARS['username'];
echo 
"Username: $username";
echo 
"Password: $password";
$query "SELECT * FROM pro_usertable WHERE password = '$password' AND username='$username'";
$result mysql_query($query);

if(
mysql_fetch_array($result)){
  echo 
"HIER IST GESCHÜTZTER BEREICH !!!";
} else {
echo 
"Du hast keinen Zutritt!";
}


?>
Und hier springt er dann immer wieder in die else-Anweisung: Du hast keinen Zutritt.
Weiß jemand Rat?
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.06.2005, 16:06  
Gast
 
Beiträge: n/a
Standard

Hallo,

du setzt die Variablen $HTTP_SESSION_VARS im ersten Script nicht. mit session_resister reserviest du nur zwei vars mit den Key username und password. besser ist es wenn du $_SESSION verwendest anstelle von $HTTP_SESSION_VARS.
http://at.php.net/manual/de/function...n-register.php
beim select solltes du niemals * verwenden, sondern die Tabellennamen angeben. außerdem wenn du bereist einen Eintrag in der Datenbank gefunden hast, die mit username und passwort übereinstimmen, dann brauchst du das nicht mehr überprüfuen.
 
Alt 02.06.2005, 16:17  
Gast
 
Beiträge: n/a
Standard

Ich weiß select * ist mist, ist ja auch nur der erste Test gewesen...Dank Dir trotzdem für den Hinweis, nun funzt es
 
Alt 02.06.2005, 16:22  
Erfahrener Benutzer
 
Registriert seit: 25.02.2004
Beiträge: 1.524
Orolhawion
Standard

Zitat:
Zitat von comus
beim select solltes du niemals * verwenden, sondern die Tabellennamen angeben.
vermutlich meinst du nicht die tabellennamen sondern die spaltennamen/attribute...
__________________
"die Mitte des Textes kann ja theor. mitten in einem Text liegen"

http://www.jagr.de/
Orolhawion ist offline  
Alt 02.06.2005, 16:52  
Gast
 
Beiträge: n/a
Standard

ja natürlich meinte ich spaltenname/attribute - wie peinlich
 
 


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
Probleme mit einem Script hein.duckdich PHP Tipps 2006 4 06.06.2006 12:08
Neues Login Script funzt nicht! michi174 PHP Tipps 2006 9 31.05.2006 16:42
Suche Login Script PHP Tipps 2006 6 02.03.2006 11:09
Login Script... Beitragsarchiv 1 16.08.2005 02:21
[Erledigt] PHP Upload script probleme PHP Tipps 2005-2 24 04.08.2005 11:18
[gelöst]fehler bei login script LA-Finest PHP Tipps 2005 9 25.05.2005 11:02
brauche dringend hilfe für ein login script PHP Tipps 2005 17 22.05.2005 21:56
problem mit login script PHP Tipps 2005 26 20.05.2005 22:10
login script spuckt PHP Tipps 2005 13 28.01.2005 16:37
Probleme mit einem Script, der eine DB braucht Datenbanken 1 16.01.2005 12:33
Login Script Tschuu PHP Tipps 2004-2 5 12.11.2004 22:33
Probleme bei Login PHP Tipps 2004 5 18.07.2004 22:08
Kleines Prob mit Login Script PHP Tipps 2004 2 09.07.2004 01:39
Fehler im Login Script PHP Tipps 2004 3 06.07.2004 20:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
input style:min-width, php tageszettel, tageszettel php

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:02 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.