SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 12.03.2018, 13:38:22
mops36 mops36 ist offline
Anfänger
 
Registriert seit: Mar 2018
Alter: 62
Beiträge: 7
Weiterleitung funktioniert nur für einen User

PHP-Code:
<?php

/*** KONFIGURATION ***/

// Definiert Konstanten für das Script
define('MD5_ENCRYPT'false); // Aktiviert Verschlüsselung für Passwort. Wenn "true" gesetzt, müssen Passwörter von $usrdata md5-verschlüsselt vorliegen. Standard: false
define('SUCCESS_URL''index2.php'); // URL, zu welcher nach erfolgreichen Login umgeleitet wird.
define('START_URL''index.php');
define('LOGIN_FORM_URL''index.php'); // URL mit Anmeldeformular
// Array mit Benutzerdaten: Besteht aus Array-Elementen mit paarweisen Benutzernamen und Passwörtern
$_SESSION['status']="active";

   
$usrdata = [
'test1' => [
    
'usr' =>'test1',
    
'pwd'=>'LISA123',

],

'test2' => [
    
'usr' =>'test2',
    
'pwd'=>'JESUS1',

],
'test3' => [
    
'usr' =>'test3',
    
'pwd'=>'LISA123',

]


];




header("Content-Type: text/html; charset=utf-8"); // Melde Browser die verwendete Zeichenkodierung

// PHP-Session starten und aktuellen Stand abfragen
session_start();
sleep(2);
$_SESSION['logged_in'] = (isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true) ? true false;
$_SESSION['usr'] = (isset($_SESSION['usr'])) ? $_SESSION['usr'] : '';

$error = array();
if(!isset(
$_POST['login'])){
        
header('Location: '.LOGIN_FORM_URL);
}else{
        
$usr = (!empty($_POST['user']) && trim($_POST['user']) != '') ? $_POST['user'] : false;
        
$pwd = (!empty($_POST['password']) && trim($_POST['password']) != '') ? $_POST['password'] : false;

        if(!
$usr || !$pwd){
                if(
count($error) == 0)
                        
$error[] = "user name and password please";
                        
header('Location: '.START_URL);
        }else{
                
$pwd = (MD5_ENCRYPT === true) ? md5($pwd) : $pwd// Passwort eingabe MD5-encrypten, falls Option gesetzt ist
                
foreach($usrdata as $ud){ // Benutzer-Liste durchlaufen und je mit Formular-Eingaben vergleichen
                        
if($usr != $ud['usr'] || $pwd != $ud['pwd'] ){
                                if(
count($error) == 0)
                                        
$error[] = "username or password incorrect.";
                                        
header('Location: '.START_URL);
                        }else{
                                
$_SESSION['logged_in'] = true;
                                
$_SESSION['usr'] = $usr;
                                
header('Location: '.SUCCESS_URL);
                        }
                }
        }
}
?>
<!doctype html>
<html>
        <head>
                <meta name="content-type" content="text/html; charset=utf-8" />
                <title>Login mistake</title>
        </head>
        <body>
                <ul>
                <?php
                
foreach($error as $out){
                        
?>
                        <li><?php echo $out?></li>
                        <?php
                
}
                
?>
                </ul>
                <p><a href="<?php echo LOGIN_FORM_URL?>">Login</a></p>
        </body>
</html>

Auf der Seite für eingeloggte User frage ich dann den User aus der Session Variablen ab und zeige die passenden Daten. Leider wird jedoch immer nur der als letzter im Array definierte User eingeloggt. Bei allen Anderen zeigt es wieder die Login Seite. Wo habe ich den Denkfehler? Fehlt vielleicht nur irgendwo ein Zeichen? Ich bekomme keine Fehlermeldung beim Testen mit wamp64.
Mit Zitat antworten
  #2  
Alt 12.03.2018, 15:16:08
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Weiterleitung funktioniert nur für einen User

Hallo und willkommen hier im Forum.

Hast Du zu Deinem Code auch noch das passende Formular? Macht die Fehlersuche einfacher.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 12.03.2018, 22:29:48
mops36 mops36 ist offline
Anfänger
 
Registriert seit: Mar 2018
Alter: 62
Beiträge: 7
AW: Weiterleitung funktioniert nur für einen User

HTML-Code:
<section>


                                <div id="login" class="animate form">

                                     <form action="login.php" method="post">
                        <p align="center"><label><input type="text" name="user" class="noBorder" size="15" /> <font color="#FFFFFF">&nbsp;&nbsp;username</font></label></p>
                        <p align="center"><label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="password" name="password" class="noBorder" size="15" /><font color="#FFFFFF">&nbsp;&nbsp;password</font></label>&nbsp;&nbsp;
                        <label><input type="submit" name="login" value="Sign in" class="noBorder" size="15" /></label></p>
                </form>

so sieht das Formular aus
nach der Weiterleitung zeige ich mit Switch die Dinge, die der eingeloggte User sehen soll.
Seltsamerweise funktioniert immer nur der letzte User und der Erste und der Zweite nicht
Mit Zitat antworten
  #4  
Alt 14.03.2018, 14:22:45
mops36 mops36 ist offline
Anfänger
 
Registriert seit: Mar 2018
Alter: 62
Beiträge: 7
AW: Weiterleitung funktioniert nur für einen User

Kann mir bitte Jemand helfen?
Ich bin totaler Anfänger und habe keine Ahnung was genau nicht passt.
Das script habe ich im Internet gefunden und nur die Daten von usr und pwd abgeändert
genauso auf der nächsten Seite nur die im Switch genannten user
Mit Zitat antworten
  #5  
Alt 14.03.2018, 16:00:35
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Weiterleitung funktioniert nur für einen User

Habe mir den Code nochmal zusammen angesehen.

Was mir auffällt, dass
PHP-Code:
define('START_URL''index.php');
define('LOGIN_FORM_URL''index.php'); 
beides auf die gleiche Datei verweist.
Soll das so sein?

Hier fliegst Du schon nach dem ersten Fehler raus:
PHP-Code:
if($usr != $ud['usr'] || $pwd != $ud['pwd'] ){
                       if(
count($error) == 0)
                               
$error[] = "username or password incorrect.";
                               
header('Location: '.START_URL); 
Soll das so sein?

Wozu soll er alle drei (Test-)User durchlaufen? Wenn bei ersten Versuch der User erkannt wird, ist doch alles in Ordnung. Oder?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6  
Alt 14.03.2018, 16:06:14
mops36 mops36 ist offline
Anfänger
 
Registriert seit: Mar 2018
Alter: 62
Beiträge: 7
AW: Weiterleitung funktioniert nur für einen User

Ich habe das script so von einer Internetseite als "Schnipsel" heruntergeladen. Eigentlich soll es nur überprüfen, ob der richtige Name und das passende definierte Passwort zusammenpassen und dann soll es weiterleiten.
Die Indexseite ist gleichzeitig auch der Login, deshalb ist beidesmal oben die index Seite definiert.
Das interessante ist, dass es schon mal funktioniert hat, aber dann nach einem längeren nicht mehr damit Beschäftigen und Umzug auf ein neues Laptop sind Dateien durcheinandergekommen und teilweise nicht mehr vorhanden. Deshalb habe ioch es nochmals begonnen und weiß nicht was jetzt anders ist und warum es nicht mehr läuft
Mit Zitat antworten
  #7  
Alt 14.03.2018, 16:33:43
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Weiterleitung funktioniert nur für einen User

Befinden sich Deinen beiden Code Schnipsel in ein und der selben Datei?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8  
Alt 14.03.2018, 16:43:07
mops36 mops36 ist offline
Anfänger
 
Registriert seit: Mar 2018
Alter: 62
Beiträge: 7
AW: Weiterleitung funktioniert nur für einen User

das Formular ist auf der Index Seite, die Überprüfung findet in der Login.php statt und bei richtigem Login wird auf die index2.php weitergeleitet.
Somit befindet sich der Code, den ich zuerst gepostet hatte komplett in der Login.php
Das Einloggen und die Weiterleitung funktionieren, jedoch leider immer nur mit dem letzten User, also test3. Wenn ich test1 an den letzten Platz im Array kopiere, dann geht die Weiterleitung auf die Seite, die test1 auch angezeigt werden soll. Das letzte Login Datenpaar wird immer ausgeführt, wenn Name und Passwort stimmen
Mit Zitat antworten
  #9  
Alt 14.03.2018, 17:23:50
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Weiterleitung funktioniert nur für einen User

Danke für die weiterführenden Informationen. Schaue ich mir nochmal an ...
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #10  
Alt 14.03.2018, 18:08:39
mops36 mops36 ist offline
Anfänger
 
Registriert seit: Mar 2018
Alter: 62
Beiträge: 7
AW: Weiterleitung funktioniert nur für einen User

Herzlichen Dank im Voraus
Mit Zitat antworten
Antwort

Stichworte
array, weiterleitungsproblem


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
UPDATE funktioniert iwie nicht Wuschelchen PHP Grundlagen 7 07.05.2010 20:42:19
Neuen User in Mysql Anlegen Erzengel MySQLi/PDO/(MySQL) 9 09.04.2010 13:13:55
Felder (user id) um Wert verändern sql-newbie MySQLi/PDO/(MySQL) 2 08.04.2008 18:10:14
htaccess user doppelt / passwörtern unterschiedlich ist das möglich ? steffi Apache HTTP-Server 7 06.04.2005 21:13:45
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 17:29:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:28:00 Uhr.


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


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt