php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.01.2005, 17:03  
Gast
 
Beiträge: n/a
Standard sessions ohne cookies

hi,
also ich versuch mich shcon den ganzen tag mit sessions und habe es endlich hinbekommen das es funzt, nun wollte ich auch das es geht wenn wer cookies deaktiviert hat

leider scheint er dann immer eine neue sesseion id anzulegen

ich habe einfach ne loginmaske
da übergebe ich dann die sessionid mit
<input type="hidden" name="PHPSESSID" value="<?=session_id()?>">

er übergibt dann auch die session ID

nur wenn ich dann auf nen link klicke dann kriege ich aufeinmal ne neue sessionid und mein login funzt dann nimmer

ich habe versucht die sessionid bei links so zu übergeben (mit SID)
echo "<a href=\"index.php?todo=Login&action=mail&SID\"> Newsletter </a>
\n";
oder
echo "<a href=\"index.php?todo=Login&action=mail&=SID\"> Newsletter </a>
\n";

aber leider scheint er immer eine neue session anzulegen....

hier der vereinfachte code
Code:
<?
//start der session
session_start();
//Passwortabfrage und speichern der user_id in einer session
if($todo == "Login") {
  echo "1) SID:".SID."
";
  echo "2) Session[ID]:".$_SESSION['ID']."
";
  echo "3) PHPSESSID".$PHPSESSID."
";
 //wenn eine user-ID in session nicht existiert muss erst eine angelegt werden
  if(!isset ($_SESSION['ID']) || $_SESSION['ID'] == "" ){
  	//falls name oder passwort nicht eingebenen wurden
  	if($name =="" || $passwd == ""){
			$errorlog = "Bitte geben Sie Passwort und Namen an.
";
  	}else{
  	//$name = $_POST['name'];
    // $passwd = $_POST['passwd'];
   		echo "4) Session[ID]".$_SESSION['ID'];
  		$sql = "SELECT uid FROM user WHERE uname = '$name' and upasswd = '$passwd'";
			$result_id = doSQL($sql);
    //wenn kein ergebnis aus der sql abfrage zurück kommt
    	if (! mysql_num_rows($result_id)){
    		$errorlog = "User und/oder Passwort sind falsch.
";
      //wenn ein ergebnis aus der sql abfrage zurück kommt wird die userid in der session gespeichert
    	}else{
				$_SESSION['ID'] =  mysql_result($result_id,0);
			}
    }
  }
}
//session zerstören wenn man sich ausgelogen will und todo auf leer setzten das wieder die startseite aufgerufen wird
if($todo == "logout") {
  session_start();
	session_destroy();
  $todo="";
}
?>
<!DOCTYPE html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Slosh-Slosh//</title>
<meta name="Slosh-Slosh//" content="Photography" />
</head>
<body>
<form method="POST" enctype="multipart/form-data" action="index.php">
<?php
//////////////////////////////////////////
///////// STARTSEITE BEREICH ////////////
////////////////////////////////////////
if($todo == ""){
?>
Login:

Name:

<input type="text" name="name" value="" size="" maxlength="">

Passwort:

<input  type="password" name="passwd" value="12345" size="" maxlength="">

<input type="submit" name="todo" value="Login">

<input type="hidden" name="PHPSESSID" value="<?=session_id()?>">
<?
}
//////////////////////////////////////////
/////////// LOGIN nicht bestanden ///////
////////////////////////////////////////
if($todo=="Login" AND !isset($_SESSION['ID'])){
	echo $errorlog;
}
//////////////////////////////////////////
/////////// LOGIN war erfolgreich ///////
////////////////////////////////////////
if($todo=="Login" AND isset($_SESSION['ID'])){
////// MENUE das man immer braucht///////
//////// daher gleich ganz oben ////////
  echo $_SESSION['ID'];
	echo "<a href=\"index.php?todo=Login&action=mail&SID\"> Newsletter </a>
\n";
	echo "<a href=\"index.php?todo=Login&action=uploader&SID\"> Upload </a>
\n";
	echo "<a href=\"index.php?todo=Login&action=profil&SID\"> Profil </a>
\n";
  echo "<a href=\"index.php?todo=logout&SID\"> Logout </a>
\n";
  //echo "<input type=\"hidden\" name=\"PHPSESSID\" value=\"=session_id()\">";
//////////////////////////////////////////
/////////// PROFIL BEREICH //////////////
////////////////////////////////////////
	if($action == "profil"){
   echo "PROFIL";
	}
//////////////////////////////////////////
/////////// MAIL BEREICH ////////////////
////////////////////////////////////////
	if($action == "mail"){
   echo "MAIL";
  }
//////////////////////////////////////////
/////////// UPLOAD BEREICH //////////////
////////////////////////////////////////
	if($action == "uploader"){
   echo "UPLOAD";
  }
}
?>
</div>
</body>
</html>
hier zum ansehn
http://gregor.slosh-slosh.com/galerie/index.php

zum einogen user:destroy90210
und pass:12345

hoffe ihr könnt mir sagen was ich da so falsch mache....

mfg,
destroy90210
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.01.2005, 19:21  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Die Konstante SID wird meines Wissens nur gesetzt, wenn die Verwendung von Cookies explizit ausgeschlossen wurde, beispielsweise in der PHP.ini- Datei. Wenn PHP Cookies verwenden kann (ungeachtet ob der Client diese akzeptiert oder nicht) wird SID nicht mehr gesetzt bzw. ist leer.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 09.01.2005, 19:24  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von mepeisen
Die Konstante SID wird meines Wissens nur gesetzt, wenn die Verwendung von Cookies explizit ausgeschlossen wurde,
Fast richtig. SID wird immer gesetzt. Wenn die Weitergabe der Session_id nicht erforderlich ist, ist SID leer.
 
Alt 09.01.2005, 19:31  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

OK, Recht haste. Aber mein Reden war eigentlich, dass die Konstante SID nicht immer zwingend einen Wert beinhalten muss.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 09.01.2005, 19:49  
Gast
 
Beiträge: n/a
Standard

hi, also ich habe folgendes festgestellt wenn ich im browser die cookies abschalte dann bekommen ich für

echo SID;
z.B.: PHPSESSID=5fe0483cbbee445fd4dc0fed6b760679
raus

wenn cookies an sind dann gibt er nichts aus.....

aber zu meinem problem
er erstellt immer eine neue session_id

am besten logt ihr euch ein und dann klickt auf einen link ihr wedet sehn das sich die session_id verändert dort wo ich echo SID machen (cookies vorher ausschalten im browser)

mfg,
destroy90210
 
Alt 09.01.2005, 20:12  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Ist auch logisch.

Code:
   echo "<a href=\"index.php?todo=Login&action=mail&SID\"> Newsletter </a>
\n";
Konstanten werden nicht ersetzt in Strings, Nur Variablen. Die Session-ID wird bei dir mit ausgeschalteten Cookies einfach nie übergeben.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 09.01.2005, 20:18  
Gast
 
Beiträge: n/a
Standard

THX
wenn ich so schreib dann gehts

Code:
	
echo "<a href=\"index2.php?todo=Login&action=mail&".SID."\"> Newsletter </a>
\n";
mfg,
destroy90210
 
Alt 09.01.2005, 22:16  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von destroy90210
wenn ich so schreib dann gehts
So isses auch richtig. Der "leere Kaufmannsschnörkel" bei Keksbetrieb (SID ist dann leer) stört nämlich nicht.
 
 


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
automatische fallback bei sessions ohne cookies auf GET PHP Tipps 2005 3 27.06.2009 08:18
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
Cookies und Sessions funktionieren mit IIS nicht richtig PHP Tipps 2006 8 16.01.2006 16:01
Cookies &amp;amp; Sessions. Seite funktioniert nur mit Reload PHP-Fortgeschrittene 4 18.09.2005 00:48
Sitzungsvariablen, Abfrage-Zeichenketten, Cookies dethlef14 PHP Tipps 2005-2 2 16.08.2005 15:42
sessions und cookies... PHP Tipps 2005-2 7 31.07.2005 21:17
Nach Serverumzug Cookies bzw. Sessions Probleme PHP Tipps 2005-2 5 24.07.2005 01:10
Sessions oder Cookies PHP Tipps 2005 4 19.04.2005 17:05
Sessions: Cookies mit Zertifikat PHP-Fortgeschrittene 0 16.09.2004 22:01
Woran erkenne ich, dass Session-ID übergeben wurde? PHP Tipps 2004 4 15.08.2004 14:06
blöde sessions =) PHP Tipps 2004 2 13.08.2004 17:55
cookies ausschalten für sessions ohne php.ini? PHP Tipps 2004 2 17.07.2004 15:58
Cookies in Sessions umwandeln PHP Tipps 2004 1 04.07.2004 16:09
Sessions mit und ohne Cookies (die 100.?) PHP Tipps 2004 2 02.07.2004 15:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sid ohne cookies, php sid ohne cookies, php upload ohne cookies, session ohne cookie startet immer eine neue session, sid im link übergeben, php newsletter ohne session und header, login session id cookie passwort speichern, php seesion ohne cookie, google ohne cookies starten, login form wie mit session umgehen, session error umgehen, mehrere java sessions mit cookies, session ohne cookies php automatisch if, session ohne cookie, php sid nichtmehr gesetzt, php iis7 schreibt session neu, php session übergeben ohne cookies, sql ergebnisse speichern session, php sid übergeben, <input type=\hidden\ name=\phpsessid\ value=\<?=session_id()?>\>

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