php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.11.2005, 17:56  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard Session Frage / Weiterleitung

Hallo zusammen,

ich hab folgendes Problem. Ich möchte auf meiner Seite
http://<a href="http://www.besuchtun...uchtuns.de</a> nen Administrationsteil machen. Passwort und User sollen in der Session gespeichert werden und die gespeicherten Daten mit den Einträgen in der Datenbank verglichen werden. Das funktioniert auch soweit. Ich hab nur ein Problem dass er mir sobald ich 2x hintereinander auf den Button Administration klicke bleibt die Seite weiss, solange bis ich die Seite neu aufrufe (die gesamte Website) oder die Cookies im Browsercache lösche. Das ist allerdings nicht Sinn der Sache. Er soll wenn möglich solange die Sessiondaten korrekt sind automatisch auf die Administrationsseite gehen. Ursprünglich war das ganze mit htaccess geschützt nur leider läuft htaccess auf meinem aktuellen Webspace nicht und den Fehler kann ich leider nicht beheben. Daher wollte ich es mit einer Session probieren. Hier mein Quellcode:

Code:
<?php
session_start();

include ("connect.php");
mysql_select_db($tabelle, $db);

       


            if (($_SESSION['LoginData']['LoggedIn']===true))
            {
            $User = $_POST['User'];
            $Password = $_POST['Password'];

            $sql1 = "SELECT * FROM besuchtuns WHERE User LIKE '%$User%'";

		if (!$result = mysql_query($sql1, $db))
		{
			echo mysql_error();
		}
		else
		{
			while ($row = mysql_fetch_object($result))
				{
					$pw = $row->Password;
					$Name = $row->User;
				}


		if  (($Name) == ($User))
        {
        $sql1 = "SELECT * FROM besuchtuns WHERE User LIKE '%$User%'";

        		if (!$result = mysql_query($sql1, $db))
					{
						echo mysql_error();
						 Session_destroy();
					}
				else
				{
         
			while ($row = mysql_fetch_object($result))
				{
                  
					$passw = $row->Password;
					$Nik = $row->User;
					

				}

				if  (($User) != ($Nik))
        			{

        			echo "
Du bist hier leider nicht angemeldet";
        			Session_destroy();


        			}

						else
		{
			if (($Password) != ($passw))
			{
				echo "Dein Passwort passt nicht zu deinem User! Bitte Versuch es erneut!
				<form method = \"post\" action =\"".$SERVER['PHP_SELF']."\">
				<input type=\"button\" value=\"Zurück\" name=\"back_button\" onClick=\"javascript:history.back(1)\">
				</form>";
				 Session_destroy();
			}
			else
			{
				if (($User == $Nik))
				{
            echo "<center>";
            $gelogt = true;
            echo "Hallo, ".$User."

";
			echo "Welche Seite m&ouml;chtest Du &auml;ndern?";
			echo "
";
			echo "<form action=\"../examples/edit.php\" method=\"post\" target=\"_blank\">";
			echo "<table border= \"0\" height=\"50\" width=\"200\">";
			echo "<tr><td>";
			echo "<input type = \"radio\" name=\"Choice\" value=\"1.inc\">Startseite";
			echo "</td><td>";
			echo "<input type = \"radio\" name=\"Choice\" value=\"2.inc\">&Uuml;ber uns";
			echo "</td></tr>";
			echo "<tr><td>";
			echo "<input type = \"radio\" name=\"Choice\" value=\"3.inc\">Kontakt";
			echo "</td><td>";
			echo "<input type = \"radio\" name=\"Choice\" value=\"stat.inc\">Impressum";
			echo "</td>";
			echo "</tr>";
			echo "</table>
";
			echo "<input type= \"submit\" name=\"Senden\" value=\"Seite &auml;ndern\">";
			echo "</form>";
			echo "<hr/>";
			}}}}}}}

else
{

		   echo "<center>
";
			echo "Sie sind nicht berechtigt diese Seite zu betreten.";
			echo "

";
			echo "Bitte loggen Sie sich ein.
";
			echo "<form action =\"".$SERVER['PHP_SELF']."\" method=\"post\">";
			echo "<table border=\"0\"><tr><td>User: </td>";
			echo "<td><input type=\"text\" name=\"User\" value=\"\"></td></tr>";
			echo "<tr><td>Passwort: </td><td><input type=\"password\" name=\"Password\" value=\"\"></td></tr></table>";
			echo "<input type=\"submit\" name=\"Senden\" value=\"Senden\">";
			$_SESSION['LoginData']['LoggedIn']=true;
			$_SESSION['LoginData']['User']=$_REQUEST['User'];
			$_SESSION['LoginData']['Password']=$_REQUEST['Password'];
			 echo"</form>";
			 }

?>
Wäre toll wenn einer von euch mal etwas zeit investieren könnte und vielleicht den Fehler finden würde oder eine Idee hat wie ich das mit der weissen Seite beheben kann.

Vielen Dank im Vorraus
LG Anja
Anuschka ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.11.2005, 18:02  
Gast
 
Beiträge: n/a
Standard

Wenn du den ganzen Käse mal ordentlich einrückst und statt dem Code-Tag den PHP-Tag hier benutzt, sieht sich das vielleicht auch jemand an.

Gruß
phpfan
 
Alt 30.11.2005, 18:50  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard

klar gerne
PHP-Code:
<?php
session_start
();

include (
"connect.php");
mysql_select_db($tabelle$db);




            if ((
$_SESSION['LoginData']['LoggedIn']===true))
            {
                
$User $_POST['User'];
                
$Password $_POST['Password'];

                
$sql1 "SELECT * FROM besuchtuns WHERE User LIKE '%$User%'";

                    if (!
$result mysql_query($sql1$db))
                      {
                         echo 
mysql_error();
                      }
                    else
                      {
                         while (
$row mysql_fetch_object($result))
                            {
                                 
$pw $row->Password;
                                
$Name $row->User;
                            }


                        if  ((
$Name) == ($User))
                            {
                                
$sql1 "SELECT * FROM besuchtuns WHERE User LIKE '%$User%'";

                                    if (!
$result mysql_query($sql1$db))
                                          {
                                               echo 
mysql_error();
                                        }
                                    else
                                        {

                                              while (
$row mysql_fetch_object($result))
                                                {

                                                    
$passw $row->Password;
                                                      
$Nik $row->User;


                                                }

                                            if  ((
$User) != ($Nik))
                                                 {

                                                       echo 
"
Du bist hier leider nicht angemeldet"
;


                                                   }

                                            else
                                               {
                                                    if ((
$Password) != ($passw))
                                                           {
                                                            echo 
"Dein Passwort passt nicht zu deinem User! Bitte Versuch es erneut!
                                                            <form method = \"post\" action =\""
.$SERVER['PHP_SELF']."\">
                                                            <input type=\"button\" value=\"Zurück\" name=\"back_button\" onClick=\"javascript:history.back(1)\">
                                                            </form>"
;
                                                                
Session_destroy();
                                                         }
                                                     else
                                                         {
                                                            if ((
$User == $Nik))
                                                                       {
                                                                         echo 
"<center>";
                                                                         
$gelogt true;
                                                                         echo 
"Hallo, ".$User."

"
;
                                                                         echo 
"Welche Seite m&ouml;chtest Du &auml;ndern?";
                                                                         echo 
"
"
;
                                                                         echo 
"<form action=\"../examples/edit.php\" method=\"post\" target=\"_blank\">";
                                                                         echo 
"<table border= \"0\" height=\"50\" width=\"200\">";
                                                                         echo 
"<tr><td>";
                                                                         echo 
"<input type = \"radio\" name=\"Choice\" value=\"1.inc\">Startseite";
                                                                         echo 
"</td><td>";
                                                                         echo 
"<input type = \"radio\" name=\"Choice\" value=\"2.inc\">&Uuml;ber uns";
                                                                         echo 
"</td></tr>";
                                                                         echo 
"<tr><td>";
                                                                         echo 
"<input type = \"radio\" name=\"Choice\" value=\"3.inc\">Kontakt";
                                                                         echo 
"</td><td>";
                                                                         echo 
"<input type = \"radio\" name=\"Choice\" value=\"stat.inc\">Impressum";
                                                                         echo 
"</td>";
                                                                         echo 
"</tr>";
                                                                         echo 
"</table>
"
;
                                                                         echo 
"<input type= \"submit\" name=\"Senden\" value=\"Seite &auml;ndern\">";
                                                                         echo 
"</form>";
                                                                         echo 
"<hr/>";
                                                                        }
                                                               }
                                                    }
                                               }
                                        }
                                }
        }

else
{

            echo 
"<center>
"
;
            echo 
"Sie sind nicht berechtigt diese Seite zu betreten.";
            echo 
"

"
;
            echo 
"Bitte loggen Sie sich ein.
"
;
            echo 
"<form action =\"".$SERVER['PHP_SELF']."\" method=\"post\">";
            echo 
"<table border=\"0\"><tr><td>User: </td>";
            echo 
"<td><input type=\"text\" name=\"User\" value=\"\"></td></tr>";
            echo 
"<tr><td>Passwort: </td><td><input type=\"password\" name=\"Password\" value=\"\"></td></tr></table>";
            echo 
"<input type=\"submit\" name=\"Senden\" value=\"Senden\">";
            
$_SESSION['LoginData']['LoggedIn']=true;
            
$_SESSION['LoginData']['User']=$_REQUEST['User'];
            
$_SESSION['LoginData']['Password']=$_REQUEST['Password'];
             echo
"</form>";
             }

?>
Anuschka ist offline  
Alt 30.11.2005, 18:53  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

D-D-D-De-De-De.....Debugger!
So jetzt ists raus...
Zergling-new ist offline  
Alt 02.12.2005, 01:15  
Benutzer
 
Registriert seit: 29.04.2004
Beiträge: 76
Anuschka
Standard

erstmal danke für die antwort. aber irgendwie steh ich auf dem schlauch. werde aus deiner antwort nicht wirklich schlau
Anuschka ist offline  
Alt 02.12.2005, 02:35  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
error_reporting(E_ALL);
ini_set('display_errors'true);
session_start();

// ohne diese Datei ist das restliche Skript doch wertlos -> require statt include
require "connect.php"
// Fehlerbehandlung
mysql_select_db($tabelle$db) or die(mysql_error());

// was sollen die doppelten Klammern?
if ($_SESSION['LoginData']['LoggedIn']===true)
{
    
// Wozu die Zuweisung von $_POST[irgendwas]->$irgendwas? Hat keinen Mehrwert.
    // Es sei denn, die eh notwendige ABsicherung der Parameter findet hier statt
    // siehe [url]http://faq-phpfriend.de/q/q-sql-injection.html[/url]
    
$User mysql_escape_string($_POST['User']);
    
$Password mysql_escape_string($_POST['Password']);

    
$sql1 "SELECT * FROM besuchtuns WHERE User LIKE '%$User%'";
    if (!
$result mysql_query($sql1$db))
    {
        echo 
mysql_error();
    }
    else
    {
        
// Was soll diese while Schleife
        
while ($row mysql_fetch_object($result))
        {
            
$pw $row->Password;
            
$Name $row->User;
        }
        
// was sollen die Klammern um $Name und $User?
        // Austausch $user->$_POST[User]
        // genauer Vergleich mit ===
        
if  ($Name === $_POST['User'])
        {
            
// Nanu? Hatten wir die Abfrage nicht eben schon?
            // DéjÃ* vu?
            
$sql1 "SELECT * FROM besuchtuns WHERE User LIKE '%$User%'";
            if (!
$result mysql_query($sql1$db))
            {
                echo 
mysql_error();
            }
            else
            {
                while (
$row mysql_fetch_object($result))
                {
                    
// naja, erstmal Schluss.
                    // beschreib doch einfach mal mit ganzen Sätzen, ohne Code, was das Skript machen soll 
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zu Session SmileMan PHP Tipps 2008 1 08.10.2007 11:22
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Frage zu Session Variablen Cyberbob_at_tot PHP Tipps 2006 3 13.03.2006 16:52
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
kleine session frage notyyy PHP Tipps 2007 2 10.12.2005 11:59
Session abschaltbar?? Probleme mit Objekten in Session! becks123 PHP-Fortgeschrittene 3 19.09.2005 15:47
Bei Session - verfall socke PHP Tipps 2005-2 12 01.09.2005 02:30
Klassenobjekt in ner Session speichern?! Finkman PHP Tipps 2005-2 5 09.08.2005 00:38
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
Frage zu Session und Objekten PHP Tipps 2005 2 24.05.2005 09:29
Session error nach Umstellung auf PHP 5 PHP Tipps 2005 15 13.05.2005 14:35
verliere Session Sonja PHP Tipps 2005 3 27.04.2005 09:32
Session Frage! PHP Tipps 2005 2 05.03.2005 22:44
[Erledigt] PHP Session ID übergabe Frage PHP Tipps 2004 3 27.07.2004 10:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session_destroy und weiterleitung, weiterleitung php session, php session_destroy weiterleitung

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.