php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.06.2004, 12:28  
Gast
 
Beiträge: n/a
Standard keine Sessions beim Login

Hallo! So, dank eurer lieben Hilfe bin ich nun soweit, dass man sich ein- und ausloggen kann . Jetzt soll man natürlich eingeloggt bleiben, wenn man auf eine andere Site kommt. Naja, ich habe mir beide Kapitel der Sessions von http://tut.php-q.net/kommunikation.html durchgelesen, doch ich versteh davon nicht genug um sie selbst durchzulesen. (Und JA ich habe ALLE vorigen Kapitel durchgelesen ) Deshalb hab ich mich entschieden, dass die IP einfach bei jedem Link über die URL mitgegeben wird, beim einloggen mit dem richtigen Passwort wird ein UPdate Befehl aktiviert der die IP Adresse des Users aktualisiert, falls sie sich geändert haben sollte. Aber dieser gemeine Update befehl klappt nicht!!!!!!

Bitte helft mir!

Hier ist der Link: http://norn-meeting.creaturesforum.d...st/abfrage.php

Und hier der Code (nicht der ganze, nur das wichtigste):
Code:
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
        mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

	  $User_Name = $_POST["User_Name"];
	  $User_Passwort = $_POST["User_Passwort"];

	$daten = "SELECT
    			User_ID,
			User_Name,
			User_Passwort
	  	  FROM
    			Mon_User 
		  WHERE
			User_Name = '$User_Name' && User_Passwort = '$User_Passwort'";

	    $result = mysql_query($daten) OR die(mysql_error());


		if(mysql_num_rows($result)==1)
	{ 

		echo "<center>Herzlich Willkommen, ".$User_Name."! Du bist eingeloggt</center>";

		$IP = $_SERVER['REMOTE_ADDR'];

		while($row = mysql_fetch_assoc($result)) 
		{
		   $ID = $row['User_ID'];
		}

		echo '<center>Die ID ist: '.$ID.'</center>';
		echo '<center>Die IP ist: '.$IP.'</center>';

	$sql = "UPDATE
		    Mon_User
		SET
		    User_IP = $IP
		WHERE
		    User_ID = '$ID'";

	    $update = mysql_query($sql) OR die(mysql_error());

		echo '

<center>weiter zur Zentrale</center></p>';
 
	} else { 
		echo "<center>Falsches Passwort oder falscher Username</center>"; 
	}
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.06.2004, 12:43  
Gast
 
Beiträge: n/a
Standard

Ich hoffe hier antwortet noch wer? Ich bin nämlcih ziemlich am verzweifeln
 
Alt 05.06.2004, 12:49  
Gast
 
Beiträge: n/a
Standard

es ist nicht gut einfach die ip zu übergeben denn dann könnte man ja einfach seine ip in den link schreiben und schon wär man eingeloggt
also ich würde es mit sessions machen
les dir einfach das hier nochmal durch http://tut.php-q.net/sessions.html
hier mal 2 scripte von mir
login.php prüft die eingaben des users und speichert die ip(das war nämlöich keine schlecht idee von dir mit der ip) des users in das array $_SESSION...und zur identfikation auf jeder einzelnen seite auch noch die id..
sessioncheck.php prüft jedes mal ob der user eingeloggt ist

login.php:
Code:
if($_POST['user']){
$user=$_POST['user']
$db=mysql_connect("xxxxx","xxxxxxx","xxxxxx") or die ("Verbindung fehlgeschlagen");
mysql_select_db("xxxxxxx",$db);
$user_SQL="SELECT * FROM user_member WHERE user_ID=$user";
$user_result=mysql_query($user_SQL);
$user_array=mysql_fetch_array($user_result);
if($_POST['user_pw']==$user_array['user_pw']){
session_start();
$_SESSION['id']=$user;
$_SESSION['ip']=$REMOTE_ADDR;
$name=$user_array['user_name'];
$now=time();
$last_login_SQL="UPDATE user_member SET user_last_login='$now' WHERE user_ID='$user'";
$last_login_SQL_result=mysql_query($last_login_SQL);
header("Location: intern_index.php");
} else {
echo "Dass eingegebene Passwort für " . $user_array['user_name'] . " ist falsch!";
}
mysql_close();
} else {
echo "Sie sind nicht eingeloggt";
}
?>
sessioncheck.php:
Code:
<?php
session_start();
if($_SESSION['ip']!=$_SERVER['REMOTE_ADDR']){
die("Verdammter Hacker");
} else {
$user=$_SESSION['id'];
}
?>
statt hier den user höflich zu bitten sich einzuloggen, beschimpfe ich ihn als hacker
 
Alt 05.06.2004, 13:18  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hey lioba ... richtig aktiv im forum dabei

schau mal hier ... da hab ich grad links gepostet ..
http://www.phpfriend.de/forum/viewtopic.php?t=15769
imported_Ben ist offline  
Alt 06.06.2004, 14:01  
Gast
 
Beiträge: n/a
Standard

@Burners:
Danke für dein cooles script, doch ich versteh ihn nicht................ :wink:
Die meißten Befehle zumindest nicht, ich bin irgendwie ratlos. Ich muss mir den vorher von irendwem erklären lassen.....

@Ben:
ich aktiv? *freu* Richtig aktiv vielleicht nicht aber ich schau hier öfters rein
Achja die Links sind interessant! ich lern dann mal ein Weilchen.... ^-^
 
Alt 06.06.2004, 14:22  
nilsfeld
Gast
 
Beiträge: n/a
Standard

@burner.nst
Dein Script ist auch noch nicht das beste aber hier noch nen paar kleine verbesserungsvorschläge.

Code:
<?php

/*** Config ***/
$db_host = "localhost";		
$db_user = "user";			
$db_pass = "pass";
$db_name = "datenbank";

/*** Wichtige Funktionen ***/

//Session wird gestartet
session_start();

//Datenbankverbindung wird überprüft ob schon aufgebaut oder noch verbunden werden muss
if ( !@mysql_connect($db_connect)){							
	$db_connect = mysql_connect($db_host,$db_user,$db_pass) or die("Server");		
	@mysql_select_db($db_name) or die("Datenbank");
}


/*** Script ***/

//Überprüfen ob das Inputfeld User ausgefüllt wurde zum Einloggen
if(isset($_POST["user"])){ 
	
	$user_SQL="SELECT user_pw FROM user_member WHERE user_ID=".$_POST["user"]; 
	$user_result=mysql_query($user_SQL); 
	$user_array=mysql_fetch_array($user_result); 

	if($_POST['user_pw']==$user_array['user_pw']){			//Man sollte über die MD5 verschlüsslung nachdenken

		$_SESSION['id']=$_POST["user"];						//Wieso auch immer du der ID einen NAMEN zuteilst weiß ich auch nicht
		$_SESSION['ip']=$REMOTE_ADDR;						//IP Addresse zuornnen
		
		mysql_query("UPDATE user_member SET user_last_login='".time()."' WHERE user_ID='".$_POST["user"]."'"); //CURENT TIME geht auch

		header("Location: intern_index.php"); //Weiterleitung

	} else { 

		echo "Dass eingegebene Passwort für " . $_POST["user"] . " ist falsch!"; 

	} 

} else { 

	echo "Sie sind nicht eingeloggt"; 

} 
?>
 
Alt 06.06.2004, 22:37  
Gast
 
Beiträge: n/a
Standard

@nilsfeld: ich weiß das mein login script nicht das beste ist..würde mich auch wundern, da ich mich auch erst seit 3 monaten mit php beschäftige
hiermal ein paar anmerkungen zu deinen vorschlägen
1. über die md5() methode habe ich auch schon nachgedacht, kam dann aber zum entschluss dass ich das nicht brauche da der login nur für 10-20 user gedacht ist
2. da der login nur für 10-20 user gedacht ist ist das login-formular nicht so wie ein gewöhnliches...die user müssen ihren namen in einer slect-box auswählen die so aufgebaut ist:
Code:
<select name="user">
<option value="id">name</option>
</select>
deshalb ordne ich der $_SESSION['id'] auch keinen namen zu sondern eine id
 
 


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
[Erledigt] Login erstellen coraplanet PHP Tipps 2008 33 21.04.2008 16:49
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
2 Sessions Kein Genie PHP Tipps 2006 8 21.07.2006 15:45
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
Frage zu Login Kein Genie PHP Tipps 2006 5 16.06.2006 12:34
problem bei sessions in komb. m. cookies. header umgehen? Promaetheus PHP Tipps 2006 10 02.05.2006 15:52
Cookies, Sessions, Login-Fehler PHP Tipps 2006 1 23.03.2006 12:59
phpBB Loginscript in eigenes Login Script einbinden 2wuck PHP Tipps 2007 4 19.12.2005 23:10
Komisches Problem mit sessions FBI PHP Tipps 2007 5 22.11.2005 14:15
Problem mit Login Bereich (Sessions, MySQL) nicobischof PHP Tipps 2005-2 6 19.10.2005 09:54
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
[Erledigt] Login, LogIn, Anmelden, Einloggen -&amp;amp;amp;amp;gt; ??? Off-Topic Diskussionen 20 14.07.2005 11:01
parse error Login mit Sessions PHP Tipps 2005 12 08.03.2005 14:13
login mit session id PHP Tipps 2005 10 26.01.2005 12:32
Login und probleme mit Sessions PHP Tipps 2005 8 09.01.2005 17:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:04 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.