PHP Webseitenschutz

  • Hallo Leute...

    Vollgendes Problem ich will auf meiner Website einen Kunden-Login durchfühern.
    Soweit so gut...so funktioniert das ganze auch, habe keine Probleme, nur eins :roll::lol:
    wie mach ich es das verschiedene kunden mit ihren login daten auf die jeweils ihrer abgestimmten seite kommen
    also beispiel: "Kristina" mit Passwort: "Hans" kommt auf die Seite /gallerie1.php
    und "Hans" mit Passwort: "Kristina" kommt auf /gallerie2.php

    kann mir da jemand helfen?:?::confused:

    danke euch:-)

  • kunden.php

    geheim.php

    benutzer.php


    Das sind diese drei seiten...wie mach ich das jetzt?
    sry aber bin da doch zu blutiger anfänger für so nen spaß :stars::help:

  • ok dann mal für anfänger :)

    in deiner benutzer.php hast du ja die logins drin
    bau das array um!

    PHP
    <?php
    $benutzer = array(
        'hans' => array(
            'password' => 'hannebambel',
            'zielseite' => 'hanshannebambel.php'
        ),
    );
    ?>


    usw usw

    dann musste halt die ganzen abfragen entsprechend auf die neue arraystruktur anpassen
    und wenn sich der hans einloggt weil

    PHP
    $benutzer[$_POST['name']]['password'] === $_POST['passwort']


    dann haste in

    PHP
    $benutzer[$_POST['name']]['zielseite']


    die nötige info für die angabe bei

    PHP
    header("Location: ".$benutzer[$_POST['name']]['zielseite']);
  • funzt irgendwas net

    was mach ich verkehrt

    Einmal editiert, zuletzt von Sebbi (22. Februar 2015 um 21:59)


  • na die user müssen alle in ein großes array gestopft werden ;)
    achte darauf, dass du keine syntaxfehler machst.
    am besten hauste in die datei ganz oben nen

    PHP
    ini_set('display_errors', true);
    error_reporting(E_ALL);


    rein, um fehler gezeigt zu bekommen.

  • hier muss irgendwo in fehler sein...komm einfach net auf die angegebenen seiten...bleibe auf der login seite...so als ob passwort oder name net stimmen

    Einmal editiert, zuletzt von Sebbi (23. Februar 2015 um 00:24)

  • Richtig debuggen

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • Ich sagte ja schon...bin leider auf dem gebiet script befehle totaler Anfänger :(
    Und hab mir erhofft mir könnte jemand hier helfen :(
    Habe ja auch die fehlerauslese gemacht...nur was soll ich sagen...es zeigt mir alles eigentlich rot an

    Standart html, php und css is ja kein problem für mich aber bei aktionen habert es einfach bei mir

    Einmal editiert, zuletzt von Sebbi (23. Februar 2015 um 10:24)

  • Ich sagte ja schon...bin leider auf dem gebiet script befehle totaler Anfänger


    Ja und??? Du wirst doch wohl ein paar echo's in dein Script bauen können, oder??? :(

  • So...also hab mich jetzt doch mal bissel reingefitzt in die sache...hab auch noch in kollegen hinzu gezogen...hab es doch soweit einwenig verstanden die sache, nur wo wir garnicht dahinter steigen ist,

    PHP
    <?phperror_reporting(E_ALL);ini_set("display_errors", true);/* PHP-Webseitenschutz */include "benutzer.php";session_start();// Anmeldung überprüfenif (isset($_POST['anmeldung'])) {   echo '$_POST['anmeldung'] ist gesetzt<br>';   echo 'Name = ' . $_POST['name'] . '<br>';   echo 'Passwort = ' . $_POST['passwort'] . '<br>';   if (isset($benutzer[$_POST['name']]))  {     echo '$benutzer[$_POST['name']] gesetzt <br>';          if ($benutzer[$_POST['name']]['password'] === $_POST['passwort'])     {        $_SESSION['benutzername'] = $_POST['name'];        echo 'Passwort identisch<br>';      }     else        echo 'Passwort nicht identisch<br>';           echo "Weiterleitung nach " . $benutzer[$_POST['name']]['zielseite'];   // Zur "geheimen"-Seite nach der Anmeldung weiterleiten.     // header vorübergehend wegkommentiert   //header("Location: ".$benutzer[$_POST['name']]['zielseite']); // } else   echo '$benutzer[$_POST['name']] nicht gesetzt <br>';else  echo '$_POST['anmeldung'] ist nicht gesetzt<br>';}?><html> <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />	<link rel="stylesheet" type="text/css" href="styles.css"/>  <meta charset="ISO-8859-1">  <title>SebastianMöllerPhotography Kunden-Login</title> </head><body><header>				                <div id="header-wrapper">
    					<div id="header">						                        <nav>    	        					<div id="navigation_bg">        						                                <img src="images/nav_bg.png" alt=" ">        							                                    <div id="navigation_home">            							                                        <a href="index.php"><img src="images/buttons/home_org.png" onmouseover="this.src='images/buttons/home_roll.png'" onmouseout="this.src='images/buttons/home_org.png'" /> </a>                                        <div id="navigation_bio">            	                						<a href="bio.php"><img src="images/buttons/bio_org.png" onmouseover="this.src='images/buttons/bio_roll.png'" onmouseout="this.src='images/buttons/bio_org.png'" /></a>                          						<div id="navigation_angebot">                                                							<a href="angebot.php"><img src="images/buttons/angebot_org.png" onmouseover="this.src='images/buttons/angebot_roll.png'" onmouseout="this.src='images/buttons/angebot_org.png'" /> </a>                              	<div id="navigation_portfolio">                         							<a href="portfolio.php"><img src="images/buttons/portfolio_org.png" onmouseover="this.src='images/buttons/portfolio_roll.png'" onmouseout="this.src='images/buttons/portfolio_org.png'" /> </a>        								<div id="navigation_kontakt">            	                						<a href="kontakt.php"><img src="images/buttons/kontakt_org.png" onmouseover="this.src='images/buttons/kontakt_roll.png'" onmouseout="this.src='images/buttons/kontakt_org.png'" /> </a>                						<div id="navigation_kunden">                        							<a href="kunden.php"><img src="images/buttons/kunden_org.png" onmouseover="this.src='images/buttons/kunden_roll.png'" onmouseout="this.src='images/buttons/kunden_org.png'" /> </a>        					</nav>                        	    				<div id="logo">                        					<a href="index.php"><img src="/images/buttons/home_but.png" alt=" "></a>        				</div>        				<!--/header-->        				</div>        			<!--/header-wrapper-->        		</header>            <div class="container">            <div class="kunden-col1">                        			<h1>Kunden-Login</h1>
    			<form action="?" method="post"> <p class="myclass7"> <label>Benutzer: <input type="text" name="name" required="required" autofocus="autofocus"></label> <br><br> <label>Passwort: <input type="text" name="passwort" required="required"></label> <br><br> <input type="submit" name="anmeldung" value="Anmelden"> </p>			</form><?php// Abmeldungif (isset($_GET['abmeldung'])) { unset($_SESSION['benutzername']); echo '<p>Abmeldung erfolgreich.</p>';}?>
    			</div>            <!--/kunden-col1-->            </div>            <!--container--><footer>
    		<div id="footer-wrapper">		        </div>		        <!--/footer-wrapper-->	    </footer>	    	</body>        </html>


    wenn ich den oberen befehlsteil in
    <?php

    ?>
    setze, kommt dieser fehler...

    Wenn ich es weg lasse, is ja aber das problem, jeder kann es sehen, was wir ja net wollen...

    Und das zweite problem,

    PHP
    <form action="" method="post">


    was fügen wir beim form action ein?
    "?" Funktioniert leider nicht, haben wir auch schon dran gedacht...wie mache ich dem code begreiflich, dass er bei der benutzer.php auf zielseite greifen soll...
    Ich bin euch echt mega dankbar dass ihr das so ohne weiteres mit macht (solche Anfänger sachen) tut mir auch echt leid, dass ich euch damit so nerve...

    Danke sebbi

  • Was ist mit dem Quellcode passiert, den kann man nicht lesen

    PHP
    <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
  • Ja eben...so wie ich,
    <? php
    ? >
    Beispiel;
    <?php
    error_reporting(E_ALL);ini_set("display_errors", true);/* PHP-Webseitenschutz */include "benutzer.php";session_start();// Anmeldung überprüfenif (isset($_POST['anmeldung'])) {
    ...
    ?>
    Im oberen teil einfüge

    Ist alles weg, wieso...das ist eben das woran wir seit gestern grübeln...

    Nehm ich es raus das <?php...?>
    Ist alles da, aber auch die befehle sind sichtbar und es verbaut mir ja die ganze seite.

    - - - Aktualisiert - - -

    PHP
    <?phperror_reporting(E_ALL);ini_set("display_errors", true);/* PHP-Webseitenschutz - Webbausteine.de */include "benutzer.php";session_start();// Anmeldung überprüfenif (isset($_POST['anmeldung'])) {   echo '$_POST['anmeldung'] ist gesetzt<br>';   echo 'Name = ' . $_POST['name'] . '<br>';   echo 'Passwort = ' . $_POST['passwort'] . '<br>';   if (isset($benutzer[$_POST['name']]))  {     echo '$benutzer[$_POST['name']] gesetzt <br>';          if ($benutzer[$_POST['name']]['password'] === $_POST['passwort'])     {        $_SESSION['benutzername'] = $_POST['name'];        echo 'Passwort identisch<br>';      }     else        echo 'Passwort nicht identisch<br>';           echo "Weiterleitung nach " . $benutzer[$_POST['name']]['zielseite'];   // Zur "geheimen"-Seite nach der Anmeldung weiterleiten.     // header vorübergehend wegkommentiert   //header("Location: ".$benutzer[$_POST['name']]['zielseite']); // Gegebenenfalls muss diese hier angepasst werden! } else   echo '$benutzer[$_POST['name']] nicht gesetzt <br>';else  echo '$_POST['anmeldung'] ist nicht gesetzt<br>';}?><html> <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />	<link rel="stylesheet" type="text/css" href="styles.css"/>  <meta charset="ISO-8859-1">  <title>SebastianMöllerPhotography Kunden-Login</title> </head><body><header>				                <div id="header-wrapper">
    					<div id="header">						                        <nav>    	        					<div id="navigation_bg">        						                                <img src="images/nav_bg.png" alt=" ">        							                                    <div id="navigation_home">            							                                        <a href="index.php"><img src="images/buttons/home_org.png" onmouseover="this.src='images/buttons/home_roll.png'" onmouseout="this.src='images/buttons/home_org.png'" /> </a>                                        <div id="navigation_bio">            	                						<a href="bio.php"><img src="images/buttons/bio_org.png" onmouseover="this.src='images/buttons/bio_roll.png'" onmouseout="this.src='images/buttons/bio_org.png'" /></a>                          						<div id="navigation_angebot">                                                							<a href="angebot.php"><img src="images/buttons/angebot_org.png" onmouseover="this.src='images/buttons/angebot_roll.png'" onmouseout="this.src='images/buttons/angebot_org.png'" /> </a>                              	<div id="navigation_portfolio">                         							<a href="portfolio.php"><img src="images/buttons/portfolio_org.png" onmouseover="this.src='images/buttons/portfolio_roll.png'" onmouseout="this.src='images/buttons/portfolio_org.png'" /> </a>        								<div id="navigation_kontakt">            	                						<a href="kontakt.php"><img src="images/buttons/kontakt_org.png" onmouseover="this.src='images/buttons/kontakt_roll.png'" onmouseout="this.src='images/buttons/kontakt_org.png'" /> </a>                						<div id="navigation_kunden">                        							<a href="kunden.php"><img src="images/buttons/kunden_org.png" onmouseover="this.src='images/buttons/kunden_roll.png'" onmouseout="this.src='images/buttons/kunden_org.png'" /> </a>        					</nav>                        	    				<div id="logo">                        					<a href="index.php"><img src="/images/buttons/home_but.png" alt=" "></a>        				</div>        				<!--/header-->        				</div>        			<!--/header-wrapper-->        		</header>            <div class="container">            <div class="kunden-col1">                        			<h1>Kunden-Login</h1>
    			<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post"> <p class="myclass7"> <label>Benutzer: <input type="text" name="name" required="required" autofocus="autofocus"></label> <br><br> <label>Passwort: <input type="text" name="passwort" required="required"></label> <br><br> <input type="submit" name="anmeldung" value="Anmelden"> </p>			</form><?php// Abmeldungif (isset($_GET['abmeldung'])) { unset($_SESSION['benutzername']); echo '<p>Abmeldung erfolgreich.</p>';}?>
    			</div>            <!--/kunden-col1-->            </div>            <!--container--><footer>
    		<div id="footer-wrapper">		        </div>		        <!--/footer-wrapper-->	    </footer>	    	</body>        </html>

    Also das is der aktuelle quellcode...was is da nur falsch

  • also wenn das da so aussieht:

    Zitat

    <?phperror_reporting


    is klar, dass der server kein php findet zum interpretieren.

    schau erstma, dass du deinen code anständig formatierst, dann wird auch das lesen einfacher.
    strukturierter code ist das A und O

  • Ist schon geordnet...und hab auch geschafft endlich alle fehler zu beseitigen...konnt diese nicht sehen, da mein Provider so nicht frei gibt die fehlererkennung...aber jetzt geht es soweit


    dank eurer Hilfe...danke nochmal

    Aber ich tu mich schwer damit, dem sagen zu können er soll con der benutzer.php die zielseite nehmen... ich raff das net...das will net gehen...

    PHP
    <form action="<?php echo $benutzer['zielseite'] ?>" method="post">


    das is die benutzer.php

  • also ich habe mich jetzt nochmal die letzten tage drüber beslesen, aber so wirlich finde ich einfach keine lösung warum das weiterleiten nicht funktioniert.
    auch mit <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post"> geht es nicht. bin ich denn echt so blöd dazu?:? :shock: :cry:

  • Poste bitte den kompletten Quellcode inkl. Formular. Da man im ersten Beitrag den Quellcode nicht vernünftig lesen kann, brauchen wir das lesbar.

  • kunden.php

    benutzer.php

    - - - Aktualisiert - - -

    ich hoffe ich kapier das mal... entweder ich stell mich nur so dumm an oder es is wirklich nicht meins mit den scripts...:-(