Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Problem mit Variablen

  1. #1
    Fortgeschrittene/r
    Registriert seit
    29.12.2007
    Beiträge
    159
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Problem mit Variablen

    Hi

    Ich schaffe es einfach nicht in den geschützten Bereich zu gelangen.

    Könnte mir bitte jemand den Code hier überprüfen?
    Code:
    <?php
    	session_start&#40;&#41;;
    	$user_bn = "Shyne";
    	$user_pw = "password";
    ?>		
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http&#58;//www.w3.org/TR/html4/loose.dtd">
    <html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" href="style.css" type="text/css">
    <title>Login</title> 
    
    <!--&#91;if gte IE 5&#93;>
    <link rel="stylesheet" href="scrollbar.css" type="text/css">
    <!&#91;endif&#93;-->
    
    <style type=text/css>
    #header &#123;
    		background-color&#58; #DEE3E7;
    		width&#58; 600px;
    		color&#58; #800000;
    		text-align&#58; left;
    		border&#58; 2px solid #800000;
    &#125;		
    #title &#123;
    		background-color&#58; #800000;
    		width&#58; 600px;
    		color&#58; #DEE3E7;
    		text-align&#58; center;
    &#125;
    </style>
    
    </head>
    
    <body background="images/gray.GIF">
    <?php
    	if &#40;!isset&#40;$pw, $user&#41;&#41; &#123;		
    echo "<center>
    <form action=\"".$_SERVER&#91;'PHP_SELF'&#93;."?$user=$setuser&$pw=$setpw\" method=\"post\">
    
    
    
    
    
    
    
    
    
    
    <div id=\"header\">
    <div id=\"title\">Geben Sie bitte den Benutzernamen und das Passwort ein, um sich einzulogen!</div>
    
    
    <span style=\"padding-left&#58; 170px;\"></span>
    Benutzername&#58; <input name=\"name\" type=\"text\" style=\"border&#58; 1px solid #800000;\">
    
    <span style=\"padding-left&#58; 170px;\"></span>
    Passwort&#58; <input name=\"pw\" style=\"margin-top&#58; 8px; margin-left&#58; 28px; border&#58; 1px solid #800000;\" type=\"password\">
    
    
    <span style=\"padding-left&#58; 300px;\"></span>
    <input name=\"send\" type=\"submit\" value=\"login\" style=\"border&#58; 1px solid #800000;margin-top&#58; 10px;\">
    
    
    
    </div>
    </form>
    </center>";
    		$setuser = $_POST&#91;'user'&#93;;
    		$setpw = $_POST&#91;'pw'&#93;;
    	&#125;
    	else &#123;
    		echo "Geschützter Bereich";
    		$sesuser = $_SESSION&#91;'user'&#93;;
    		$sespw = $_SESSION&#91;'pw'&#93;;
    	&#125;
    ?>
    </body>
    </html>
    Der Fehler liegt vermutlich entweder an action=\"".$_SERVER['PHP_SELF']."?$user=$setuser&$pw=$setpw\" oder an if (!isset($pw, $user)) {.

    LG
    Shyne
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    irgend wie fehlt da etwas code oder? ird ja nirgends gepfürt ob ps richtig sind...

    zu dem ist es unsicher pws als get zu transportieren.
    das mit der session, post und dem $sesuser, $sespw raffe ich auch nicht..

    alles im allen macht dieser code keinerlei sinn und schaut noch nicht mal hübsch aus.

  3. #3
    Fortgeschrittene/r
    Themenstarter

    Registriert seit
    29.12.2007
    Beiträge
    159
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    @GreenRover ist ja auch längst nicht fertig

    Ich möchte nur wissen, wie ich die folgende Abfrage umgehen kann: if (!isset($pw, $user)) {

    Zitat Zitat von GreenRover
    zu dem ist es unsicher pws als get zu transportieren.
    Das ist wahr. Aber ich weiss halt nicht wie ich die Variablen sonst übermitteln kann.

  4. #4
    Azubi(ne)
    Registriert seit
    16.06.2007
    Beiträge
    70
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi!
    <form action=\"".$_SERVER['PHP_SELF']."?$user=$setuser&$pw=$setpw\" method=\"post\">
    macht keinen Sinn!
    Beim Übergeben der Variablen hast du zwei Möglichkeiten:
    Entweder du übergibst sie mit "GET" oder du verwendest "POST":
    Bei "GET" würde dein form-tag so aussehen:
    Code:
    <form action=\"".$_SERVER&#91;'PHP_SELF'&#93;."\" method=\"get\">
    Bei "POST" so
    Code:
    <form action=\"".$_SERVER&#91;'PHP_SELF'&#93;."\" method=\"post\">
    Auf der folgenden Seite stehen dir dann je nach Auswahl die Variablen $_GET[''] oder $_POST[''] zur Verfügung. Die Abfrage wäre also:
    Code:
     if &#40;!isset&#40;$_GET&#91;'pw'&#93;, $_GET&#91;'name'&#93;&#41;&#41;
    bzw.
    Code:
     if &#40;!isset&#40;$_POST&#91;'pw'&#93;, $_POST&#91;'name'&#93;&#41;&#41;
    LG nif7

  5. #5
    Fortgeschrittene/r
    Themenstarter

    Registriert seit
    29.12.2007
    Beiträge
    159
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    NIF7 vielen Dank für die hilfreiche Antwort!

    Ich habe so ein ähnliches Script mal im Net gefunden. Anhand dieses Script hab ich versucht mein eigenes zu erstellen.

    Das Original sieht so aus:
    Code:
    <?
    //login script
    //session beginnen, immer ganze oben vor html Ausgabe!
    session_start&#40;&#41;;
    
    //Passwort und Benutzername wird hier Manuell eingestellt
    //diese Daten musst du anpassen
    $user_name = "Latifah";
    $user_pass = "jajaja";
    
    //html ausgabe der head daten einer seite
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http&#58;//www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Login script</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body><h1>Login Script</h1>';
    
    
    //login Funktionen
    //post variablen einfach speichern
    $user = $_POST&#91;'user'&#93;;
    $pw = $_POST&#91;'pw'&#93;;
    
    //nun kommen die if abfragen die das ganze relativ sicher machen
    if &#40;isset&#40;$user, $pw&#41;&#41;
        &#123;
        if &#40;$user == "" OR $pw == ""&#41;
            &#123;
            echo "Bittefülle beide Felder aus!";
            &#125;
            elseif &#40;$user == $user_name AND $pw == $user_pass&#41;
                &#123;
                $_SESSION&#91;'user'&#93; = $user;
                $_SESSION&#91;'pw'&#93; = $pw;
                echo "Wunderbar! Dein Login war erfolgreich, du kannst nun <a href=\"http&#58;//www.mircboard.de?".sid."\">hier</a> in den Geschützen Bereich";
                &#125;
        &#125;
    
    //dann kommt das Formular
    if &#40;!isset&#40;$user, $pw&#41;&#41;
        &#123;
        echo '<form name="login" method="post" action="'.$_SERVER&#91;'PHP_SELF'&#93;.'">
          User Name&#58; <input type="text" name="user"> User Passwort&#58;  <input type="password" name="pw">
          <input type="submit" name="Submit" value="einloggen">
        </form>';
        &#125;
        
    
    
    echo '</body>
    </html>';
    Nun, hier wird ja auch if (isset($user, $pw)) verwendet und funktionieren tut es ja auch.

  6. #6
    Azubi(ne)
    Registriert seit
    16.06.2007
    Beiträge
    70
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hier sind ja auch einige Kleinigkeiten anders:
    $user = $_POST['user'];
    $pw = $_POST['pw'];
    echo '<form name="login" method="post" action="'.$_SERVER['PHP_SELF'].'">
    User Name: <input type="text" name="user">

  7. #7
    Fortgeschrittene/r
    Themenstarter

    Registriert seit
    29.12.2007
    Beiträge
    159
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Yep ... hast du recht.

    Also ich hab mein Script jetzt auch einige Massen verbessert.
    Code:
    <?php
    	session_start&#40;&#41;;
    ?>		
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http&#58;//www.w3.org/TR/html4/loose.dtd">
    <html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" href="style.css" type="text/css">
    <title>Login</title> 
    
    <!--&#91;if gte IE 5&#93;>
    <link rel="stylesheet" href="scrollbar.css" type="text/css">
    <!&#91;endif&#93;-->
    
    <style type=text/css>
    #header &#123;
    		background-color&#58; #DEE3E7;
    		width&#58; 600px;
    		color&#58; #800000;
    		text-align&#58; left;
    		border&#58; 2px solid #800000;
    &#125;		
    #title &#123;
    		background-color&#58; #800000;
    		width&#58; 600px;
    		color&#58; #DEE3E7;
    		text-align&#58; center;
    &#125;
    </style>
    
    </head>
    
    <body background="images/gray.GIF">
    <?php
    	if &#40;!isset&#40;$_POST&#91;'name'&#93;, $_POST&#91;'pw'&#93;&#41;&#41; &#123;		
    echo "<center>
    <form action=\"".$_SERVER&#91;'PHP_SELF'&#93;."\" method=\"post\">
    
    
    
    
    
    
    
    
    
    
    <div id=\"header\">
    <div id=\"title\">Geben Sie bitte den Benutzernamen und das Passwort ein, um sich einzulogen!</div>
    
    
    <span style=\"padding-left&#58; 170px;\"></span>
    Benutzername&#58; <input name=\"name\" type=\"text\" style=\"border&#58; 1px solid #800000;\">
    
    <span style=\"padding-left&#58; 170px;\"></span>
    Passwort&#58; <input name=\"pw\" style=\"margin-top&#58; 8px; margin-left&#58; 28px; border&#58; 1px solid #800000;\" type=\"password\">
    
    
    <span style=\"padding-left&#58; 300px;\"></span>
    <input name=\"send\" type=\"submit\" value=\"login\" style=\"border&#58; 1px solid #800000;margin-top&#58; 10px;\">
    
    
    
    </div>
    </form>
    </center>";
    	&#125;
    	else &#123;
    		if &#40;empty&#40;$_POST&#91;'pw'&#93;&#41; OR empty&#40;$_POST&#91;'name'&#93;&#41;&#41; &#123;
    			echo "Sie haben nicht alle Felder ausgefüllt.";
    		&#125;
    		elseif &#40;$_POST&#91;'pw'&#93; == password && $_POST&#91;'name'&#93; == "Shyne"&#41; &#123;
    			echo "Geschützter Bereich";
    			// $_SESSION&#91;'user'&#93;; - mal so provisorisch
    			// $_SESSION&#91;'pw'&#93;; - mal so provisorisch
    		&#125;
    		else &#123;
    			if &#40;$_POST&#91;'name'&#93; != Shyne && $_POST&#91;'pw'&#93; == password&#41; &#123;
    				echo "Falsche Benutzername.";
    			&#125;
    			if &#40;$_POST&#91;'pw'&#93; != password && $_POST&#91;'name'&#93; == Shyne&#41; &#123;
    				echo "Falsches passwort";
    			&#125;
    			elseif &#40;$_POST&#91;'pw'&#93; != password && $_POST&#91;'name'&#93; != Shyne&#41; &#123;
    				echo "Falsche Angaben.";
    			&#125;
    		&#125;
    	&#125;
    ?>
    </body>
    </html>
    Villeicht fällt euch was dazu ein. Und Kritik kann ich immer gebrauchen
    Ausserdem arbeite ich noch nicht lange mit PHP, deshalb kann ich Fehler nur schwer erkennen.


    Nun, was hierbei noch fehlen, sind die Sessions. Wenn ich ehrlich bin, hab ich sehr wenig Ahnung davon.

    Deswegen möchte ich vorher noch ein Bisschen üben. Das Beispiel von dieser Seite habe ich ausprobiert. Funktioniert jedoch bei mir nicht so, wie es sollte.
    Ich erhalte folgende Ausgabe:
    Willkommen auf Seite 2


    01.01.1970 01:00:00

    Zum Anfang
    Woran liegt das?

  8. #8
    Bandit
    Gast

    Standard

    Hi,

    warum gibst du soviel HTML-Code per echo aus? Außerdem würde ich in dem echo ' anstatt der \" benutzen. Aber viel wichtiger: google füttern mit

    $_SERVER['PHP_SELF'] xss

    gruß
    bandit

  9. #9
    Fortgeschrittene/r
    Themenstarter

    Registriert seit
    29.12.2007
    Beiträge
    159
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von bandit600
    warum gibst du soviel HTML-Code per echo aus?
    Weil der gesammter Code, Zweck dieser Abfrage ist: if (!isset($_POST['name'], $_POST['pw'])) {

    Zitat Zitat von bandit600
    Aber viel wichtiger: google füttern mit

    $_SERVER['PHP_SELF'] xss
    Soll ich besser stattdessen $_SERVER['SCRIPT_NAME']; benutzen?
    Hat mir zumindest Google gesagt

  10. #10
    Bandit
    Gast

    Standard

    Hi
    Zitat Zitat von Shyne
    Weil der gesammter Code, Zweck dieser Abfrage ist: if (!isset($_POST['name'], $_POST['pw'])) {
    Code:
    <?php
      if &#40;$blub&#41;
      &#123;
    ?>
        Ganz
        viel
        HTML
        code
    <?php
       &#125;
    ?>
    Soll ich besser stattdessen $_SERVER['SCRIPT_NAME']; benutzen?
    Hat mir zumindest Google gesagt
    Wenn du das per google so gefunden hast, wird da wohl was dran sein. Ich schreibe zumindest schon lange $_SERVER['SCRIPT_NAME']

    Gruß
    bandit

Ähnliche Themen

  1. Variablen
    Von Shyne im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 28.11.2007, 18:17
  2. problem mit array und variablen
    Von aenk im Forum Flash Forum
    Antworten: 0
    Letzter Beitrag: 21.02.2007, 20:00
  3. Variablen speichern?
    Von WWKiller im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 12
    Letzter Beitrag: 07.01.2007, 21:56
  4. FAQ: Sammlung der Variablen
    Von Douby im Forum Forum-Hilfe.de intern
    Antworten: 2
    Letzter Beitrag: 01.05.2006, 22:10
  5. PHP: Variablen übergeben oder globale Variablen
    Von Philip im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 15.04.2006, 22:38

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •