[php] User und Passwort Abfrage

-Tob-

Lieutenant
Registriert
Feb. 2004
Beiträge
890
So kurzes vorwort! :)
Eigendlich wollte ich hier ja nicht mehr posten, da ich eigendlich nicht viel ahnung vom Programmieren habe und erst recht nicht von php, desweiteren wollte ich es vermeiden neg karma wegen vorgehaltener dummheit zu bekommen, wie das schon mal der fall war, aber da ich ein problem habe und keine lösung finde, auch nicht durch freunde, frage ich hier mal ganz lieb nach. :) Soll einfach heißen gebt mir eine changes und vieleicht könnt ihr mir ja trotz meines unwissens und sicher auch vorhandener dummheit weiter helfen. Ich wäre euch sehr dankbar.

Zum problem:
Ich möchte eine user mit passwort abfrage machen, damit halt nicht jeder in bereiche kommt, in die er nicht soll! Ich habe mir dafür hilfe von einem freund geholt, daraus habe ich bis jetzt das erschaffen:


Code:
<?php
session_start();


$user=$_REQUEST['user'];
$pass=$_REQUEST['pass'];


if ($user=='Tobias' && $pass=='0') {
     $_SESSION['user']='Tobias';
     header ("location: http://www.hosted.onk3l.net/tobi/test.php");
}

elseif ($user=='Gast' && $pass=='0') {
     $_SESSION['user']='Gast';
     header ("location: http://www.hosted.onk3l.net/tobi/test.php");
}

else {
     header ("location: seite1.php"); 
}

?>
<html>
<body bgcolor="0000a0" text="FFFFFF" link="FFFFFF">
under construction


</body>
</html>

Seite1.php ist in dem fall die seite auf der die beiden inputs sind für den usernamen und das passwort!

Nach richtiger eingabe des passwortes und des usernamen wird man ja dann auf die datei test.php weiter geleitet:

Code:
<?php
session_start();

if ($_SESSION['user']='Tobias') {

echo "Willkommen Tobias";
}

elseif ($_SESSION['user']='Gast') {

echo "Willkommen Gast";
}

else {
     header("location: seite1.php");
}

?>
<html>
<body bgcolor="0000a0" text="FFFFFF" link="FFFFFF">

<br><br>
under construction <br><br>

</body>
</html>


Ich kann mich jetzt (auf seite1.php) mit "Tobias" oder "Gast" anmelden und werde auch erfolgreich (bis seite test.php) weitergeleitet, doch wenn ich mich mit "Gast" angemeldet habe zeigt mir der bildschirm "Wilkommen Tobias" was ja eigendlich nur angezeigt werden soll wenn ich mich mit Tobias angemeldet habe!

Wie schon gesagt habe ich fast diesen quelltext von einem Freund bekommen. Dieser war aber nur für einen user und ich habe es in das geändert was ihr oben seht! Meine frage ist jetzt wie bekomme ich es hin das, wenn ich mit Gast angemeldet bin, Willkommen Gast erscheint? Ist das denn so überhaupt möglich?

Wie gesagt habe ich keine ahnung von php und würde gerne mein problem mit diesem Quelltext lösen, fals das nicht geht bin ich auch für andere vorschläge offen. Ich bin mir sicher das es noch viel einfache möglichkeiten gibt dies zu machen, aber ich habe die beführchtung das ich da dann nicht durchblicke. :) Ich könnte es auch einfach sein lassen mit der php programmierung aber wenn ich jetzt schon so weit gekommen bin würde ich auch gerne fertig werden!
Ich hoffe das man alles verstehen kann, an sonsten einfach fragen.

So dann erstmal danke für´s lesen und auch gleich für eventuelle hilfen! ;)
 
PHP:
if ($_SESSION['user']='Tobias') {

^^du musst hier == anstatt = schreiben

bit = weisst du einen wert zu und mit == vergleichst du ;)

richtig wäre
PHP:
if ($_SESSION['user']=='Tobias') {

^^das musst du an anderen Stellen auch ändern
 
So jetzt bin ich total fertig. Eben hat es mit meinem Mozilla geklappt dann habe ich es im IExplorer probiert und es ging nicht! Wenn ich einen benutzter mit passwort angebe und enter drücke komme ich wieder auf die anfangsseite --> seite1.php ! Warum auch immer.
Ich versteh garnix mehr ich hoffe jemand hat noch eine idee. An sonsten stellt fragen oder irgendwas hauptsache es funktioniert! :)
 
Zuletzt bearbeitet:
pcw schrieb:
PHP:
if ($_SESSION['user']=='Tobias') {
Folgerichtig dann auch
PHP:
if ($_SESSION['user']=='Gast') {

Ich wüßte jetzt aber auf anhieb auch nicht was da noch sein könnte.
Kannst du vielleicht die 3 Dateien anhängen? Vielleicht ist ja irgendwo ein Fehler wo du ihn garnicht vermutest?
 
Versuche mal statt $_REQUEST, $_GET oder $_POST zu verwenden. Vielleicht hat deine PHP Version damit nen Problem ;)
 
Vielen dank schon mal.

Also ich habe jetzt bei beiden dateien die "=" zeichen durch "==" ersetzt, und es, in der login3.php datei, mit $_GET, $_Post versucht. Aber es geht trotzdem nicht! :( Wenn ich den user und das passwort angebe schmeißt er mich auf die seite1.php!
Hier der link, damit ihr es einfach mal selbst testen könnt. Ich hoffe ihr habt noch ein paar ideen auf lager, ich hänge die 3 dateien jetzt einfach mal an dann könnt ihr gucken.

Vielen vielen Dank! :)
 

Anhänge

Also mit

Tobias 0
Gast 0

geht es, in der exakten schreibweise.
wenn du jetzt aber

tobias 0
toBias 0
etc

benutzt geht es nicht. Vllt liegt da der Fehler?
 
login3.php:
PHP:
<?php
session_start();


$user=$_POST['user'];
$pass=$_POST['pass'];


if ($user=='Tobias' && $pass=='0') {
     $_SESSION['user']='Tobias';
     header ("location: http://www.hosted.onk3l.net/tobi/test.php"); 
}

elseif ($user=='Gast' && $pass=='0') {
     $_SESSION['user']='Gast';
     header ("location: http://www.hosted.onk3l.net/tobi/test.php");
}

else {
     header ("location: seite1.php");
}

?>
<html>
<body bgcolor="0000a0" text="FFFFFF" link="FFFFFF">
under construction


</body>
</html>

Erklärung:
Mit = machst du eine Zuweisung. Der Wert rechts wird in die Variable links von = eingetragen.
Mit == machst du einen Vergleich.

Ich hoffe du kannst das unterscheiden. Vor allem wann du vergleichst und wann du zuweist.
 
Super jetzt geht es! Ich traue dem ganz zwar irgendwie immer noch nicht und es wäre klasse wenn es jemand anderes von seinem rechner noch mal testen könnte um zu gucken ob es wirklich geht! :) PS: das passwort von Tobias ist geändert es müsste also nur mit Gast gehen!

@[UPS]Erazor
Ich hatte auch erst nur ein "=" doch das ging auch nicht, scheinbar hat dann was anders nicht gestimmt und dann habe ich es so probiert. Aber jetzt habe ich es dank deiner erklärung glaube ich kapiert! :)

Ich danke an dieser stelle noch mal allen die sich hier beteiligt haben! Karma rund von mir folgt! ;)
 
Zurück
Oben