PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Entwicklung und Softwaredesign (http://www.selfphp.de/forum/forumdisplay.php?f=14)
-   -   Loginscript funktioniert wieder mal nicht =( (http://www.selfphp.de/forum/showthread.php?t=17731)

-=Sirius=- 25.09.2007 20:00:15

Loginscript funktioniert wieder mal nicht =(
 
Hallo,
also das ist mein Code:

EDIT: GEÄNDERTER CODE

PHP-Code:

<?php
error_reporting
(E_ALL);

//Daten aus Senden
$name $_POST['benutzername'];
$pass $_POST['passwort'];

$benutzerarray = array("
 'fisi' => 'md5('b9acdea2da5f11854dd76c09b522c77f'),
 'fiae' => 'md5('b9acdea2da5f11854dd76c09b522c77f'),
 'itsys' => 'md5('b9acdea2da5f11854dd76c09b522c77f')
 "
);

if(isset(
$_POST['submit']) AND $_POST['submit']=='Login')
  {
    
$post_user $_POST['username'];
    
$post_pass $_POST['passwort'];
  };
if(
in_array($name,$benutzerarray))
  {
    if(
$benutzerarray[$name] == md5($pass))
      {
        if(
$_SESSION['user_name']=='fisi')
          {
            
header ('Location: fist/index.php');
          }
        else
          {
            if(
$_SESSION['user_name']=='fiae')
              {
                
header ('Location: fiae/index.php');
              }
            else
              {
                
header ('Location: itsys/index.php');
              };
          };
        }
     else
      {
        echo 
'Logindaten falsch, bitte geben Sie die Benutzername und Passwort erneut ein.';
      };
  };
?>

nur leider funktioniert das nicht, es kommt immer folgender fehler:


Parse error: parse error, unexpected '{' in E:\Programme\xampp\htdocs\sites\bewerbungshomepage\login.php on line 19

hab leider auch nur von überall Codeschnippsel zusammengefügt und auch Hilfe von anderen Personen bekommen.

Kann mir bitte jdm. helfen ?
Danke ;)

mfg
Sirius

feuervogel 25.09.2007 20:05:51

AW: Loginscript funktioniert wieder mal nicht =(
 
PHP-Code:

if(isset($_POST['submit']) AND $_POST['submit']=="Login"); { 
   
$post_user $_POST['username']; 
   
$post_pass $_POST['passwort']; 
  } 

was sucht da in der ersten zeile da ; hinter der )?

-=Sirius=- 25.09.2007 20:39:50

AW: Loginscript funktioniert wieder mal nicht =(
 
wahrscheinz mit nei gerutscht ;)

aber ist nicht der auslöser dieser fehlermeldung =(



------> neuer geänderter code oben

jetzt kommt kein fehler mehr, sondern die seite bleibt einfach weiß =(

habs gefunden... sind ja massenhaft unterschiedlich variablen O_O
frag mich blos wie die jetzt dareingekommen sind... vorher warn die glaub ich net da -.-

aber wie überprüft man das jetzt richtig ... weiß ich nämlich nicht ??? :(

feuervogel 25.09.2007 23:48:56

AW: Loginscript funktioniert wieder mal nicht =(
 
Zitat:

Zitat von -=Sirius=- (Beitrag 107090)
wahrscheinz mit nei gerutscht ;)

aber ist nicht der auslöser dieser fehlermeldung =(



------> neuer geänderter code oben

jetzt kommt kein fehler mehr, sondern die seite bleibt einfach weiß =(

habs gefunden... sind ja massenhaft unterschiedlich variablen O_O
frag mich blos wie die jetzt dareingekommen sind... vorher warn die glaub ich net da -.-

aber wie überprüft man das jetzt richtig ... weiß ich nämlich nicht ??? :(

Indem nicht einfach alles von irgendwo her zusammenkopiert sondern sich mal selbst Gedanken macht und anfangs kleine Brötchen backt.

zusätzlich noch das gehirn anstrengen hilft auch:

warum bleibt die seite weiß? weil keine ausgabe erzeugt wird. die ausgabe wird in der if-anweisung erzeugt. die if-bedinung in_array($name,$benutzerarray) ist also immer false. woran könnte das liegen? naja, in_array überprüft, ob ein wert element eines arrays ist. kann der inhalt von $name im array $benutzerarray vorkommen? nein, denn $name wird nirgends mit inhalt gefüllt.

und wieso du den schließenden klammern der if-blöcke ein ; folgen lässt, ist mir auch nicht klar.

-=Sirius=- 26.09.2007 16:03:16

AW: Loginscript funktioniert wieder mal nicht =(
 
die variable $name bekommt doch an dieser stelle einen wert:
$name = $_POST['benutzername'];

oder etwar nicht ?


dann wird die if-anweisung falsch sein ?
aber ich weiß net warum ^^

feuervogel 26.09.2007 16:38:35

AW: Loginscript funktioniert wieder mal nicht =(
 
Zitat:

Zitat von -=Sirius=- (Beitrag 107109)
die variable $name bekommt doch an dieser stelle einen wert:
$name = $_POST['benutzername'];

oh, das habe ich übersehen, sorry.

was gibst du denn beim feld für den benutzernamen ein?

sicherlich nicht

'fisi' => 'md5('b9acdea2da5f11854dd76c09b522c77f'),
'fiae' => 'md5('b9acdea2da5f11854dd76c09b522c77f'),
'itsys' => 'md5('b9acdea2da5f11854dd76c09b522c77f')

oder? denn das ist das einzige element von dem array und damit die bedinung der if-anweisung wahr wird, müsste das also der wert von $name sein.

rarios 26.09.2007 16:50:06

AW: Loginscript funktioniert wieder mal nicht =(
 
hmm Du hast glaube ich Deinen von irgendwoher kopierten Code nicht so ganz verstanden oder?
also erstmal 1. hast Du oben stehen:
$name = $_POST['benutzername'];
$pass = $_POST['passwort'];
dann kommt auf einmal:
$post_user = $_POST['username'];
$post_pass = $_POST['passwort'];
Also entweder Dein Formular hat gleich 2 Felder wo man einen Benutzernamen eintragen muss und zusätzlich ein Passwortfeld oder Du hast einfach verschiedene Scripte zusammengebastelt.

2. in_array($name,$benutzerarray)
naja Du hast zwar die variable $name aber nicht im array sondern außerhalb!

3. lass die md5-Verschlüsselung ruhen! Dein Script ist eh eine totale Sicherheitslücke...

defabricator 26.09.2007 16:55:46

AW: Loginscript funktioniert wieder mal nicht =(
 
Ich glaube auch, Du solltest Dich nochmal mit den basics beschäftigen.
Und dann schau dir genau an, was das Skript Zeile für Zeile macht.
- Such die Anweisungen raus.
- Was macht jede einzelne Anweisung?
- Was bewirkt das jeweils im Kontext ?
- Macht das Sinn?
- Was brauchst Du an der Stelle?

-=Sirius=- 28.09.2007 15:34:31

AW: Loginscript funktioniert wieder mal nicht =(
 
hab jetzt ein neues script... allerdings hat mir das jdm. geschrieben...
ich muss irgendwan mal nen php kurs besuchen :(

schaut jetzt folgendermaßen aus:

PHP-Code:

<?php
session_start 
(); 
if(isset(
$_POST["submit"])){
error_reporting(E_ALL);
//Daten aus Senden

if(isset($_POST['benutzername']))
    
$name $_POST['benutzername'];
    
$pass md5($_POST['passwort']);
    switch(
$name)
    {
        case 
"fisi":
            if(
$pass=="b9acdea2da5f11854dd76c09b522c77f")
            {
                
$_SESSION['fisi']= true;
            
header ('LOCATION: fisi/index.php');
            }
            else{
                
header ('LOCATION: nixda.seite');             
            }
            break;
        case 
"fiae":
            if(
$pass=="b9acdea2da5f11854dd76c09b522c77f")
            {
                
$_SESSION['fiae']= true;
                
header ('Location: fiae/index.php');
            }
            else{
                
header ('LOCATION: nixda.seite');                 
            }
            break;
        case 
"itsys":
            if(
$pass=="b9acdea2da5f11854dd76c09b522c77f")
            {
                
$_SESSION['itsys']= true;
                
header ('Location: itsys/index.php');
            }
            else{
                
header ('LOCATION: nixda.seite');                 
            }
            break;
        default:
            echo 
"Ne du";
    }

}

?>


defabricator 29.09.2007 06:08:08

AW: Loginscript funktioniert wieder mal nicht =(
 
Dein erster Ansatz kann zum Beispiel so umgesetzt werden
PHP-Code:

<?php
error_reporting
(E_ALL);
session_start (); 
if(isset(
$_POST['benutzername']) && isset($_POST['passwort']))
{
  
$benutzer = array(
    
"fisi" => md5('testpass'), // "b9acdea2da5f11854dd76c09b522c77f",
    
"fiae" => "b9acdea2da5f11854dd76c09b522c77f",
    
"itsys" => "b9acdea2da5f11854dd76c09b522c77f",
  );
  
  if ( isset(
$benutzer[  $_POST['benutzername'] ])
    && 
$benutzer[  $_POST['benutzername'] ]===md5($_POST['passwort']))
  {
    
$_SESSION['user'] = $_POST['benutzername'];
    
header('Location: '.$_POST['benutzername'].'/');
  }
  else {
    die(
'ne du');
  }
}
else
{
  echo 
'<html><body><form method="post">
    b:<input type="text" name="benutzername" />
    <br />
    p:<input type="password" name="passwort" />
    <br />
    <input type="submit" />
  </form></html>'
;
}
?>



Alle Zeitangaben in WEZ +2. Es ist jetzt 17:34:56 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.