WinFuture-Forum.de: Session Daten Aktualisieren - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Session Daten Aktualisieren

#16 Mitglied ist offline   Skiller 

  • Gruppe: aktive Mitglieder
  • Beiträge: 164
  • Beigetreten: 06. September 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Negenborn

geschrieben 28. Februar 2006 - 15:34

Beitrag anzeigenZitat (axx: 28.02.2006, 15:32)

Die Aktualisierung des Datensatzes kann natürlich sofort erfolgen, sollte es sogar, falls der Benutzer "vergisst", sich ordendlich auszuloggen. Denn wenn er den Browser schließt, sind die Session und alle darin gespeicherten Daten weg. Also besser beides sofort erledigen.

Ok ich hab dich jetzt verstanden!

THX

Dieser Beitrag wurde von Skiller bearbeitet: 28. Februar 2006 - 15:35

0

Anzeige



#17 Mitglied ist offline   Skiller 

  • Gruppe: aktive Mitglieder
  • Beiträge: 164
  • Beigetreten: 06. September 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Negenborn

geschrieben 28. Februar 2006 - 22:43

Noch eine Frage:

Wenn der Benutzer z.B. nichts eingibt soll sich eine neue Seite öffen wo dann steht, bitte geben sie einen Benutzernamen ein. Ich hatte mir gedacht das geht folgender maßen.
<?php	
if ($_SESSION["user_nickname"] == )  
{  
  header ("Location: kein_nickname.php");  
}  
?>

Leider bekomme ich nichts angezeigt, wenn ich jedoch "header ("Location: formular.php");" gegen "echo test;" Tausche funktioniert das ganze! Was nun?
0

#18 Mitglied ist offline   axx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 19. Mai 05
  • Reputation: 0

geschrieben 01. März 2006 - 08:20

header ("Location: kein_nickname.php");

ist eine temporäre Weiterleitung (Statuscode 302). Dies funktioniert nur, wenn vor dem Aufruf der Funktion header() keine Ausgabe, auch kein Leerzeichen, erfolgt. Meist ist genau das das Problem. Hast du vielleicht die PHP-Fehlermeldungen [error_reporting()] abgeschaltet, so dass du jetzt nur eine leere Seite im Browser siehst?
0

#19 Mitglied ist offline   Skiller 

  • Gruppe: aktive Mitglieder
  • Beiträge: 164
  • Beigetreten: 06. September 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Negenborn

geschrieben 01. März 2006 - 08:59

Nein [error_reporting()] ist an trotzdem bekomme ich nur eine leere Seite! Wie kann ich das anderst lösen bzw. was muss ich ändern? In kann es ja auch nicht mit Java oder Html lösen, oder?

Dieser Beitrag wurde von Skiller bearbeitet: 01. März 2006 - 18:30

0

#20 Mitglied ist offline   Skiller 

  • Gruppe: aktive Mitglieder
  • Beiträge: 164
  • Beigetreten: 06. September 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Negenborn

geschrieben 02. März 2006 - 11:52

?
0

#21 Mitglied ist offline   axx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 19. Mai 05
  • Reputation: 0

geschrieben 02. März 2006 - 15:34

Warum die Weiterleitung nicht funktioniert, kann ich von hier aus nicht sagen. Eine Weiterleitung ist an dieser Stelle auch gar nicht nötig oder wünschenswert.

Du hast eine Startseite, auf der die Login-Daten abgefragt werden. Sind sie vorhanden, hat zuvor eine gültige Anmeldung stattgefunden und der Inhalt wird angezeigt.
Sind die Variablen, die nach einer Anmeldung initialisiert sein müssen, nicht vorhanden, wird der Inhalt nicht angezeigt, sondern ein Login-Formular.

<?php
	$pass = md5($_POST['pass']);
	// Funktion zum Überprüfen der Benutzerdaten gibt true oder false zurück
	// check_data($_POST['name'], $pass);
	if(check_data($_POST['name'], $pass) == true){
		session_start();
		$_SESSION['sid'] = session_id();
		$_SESSION['pass'] = $pass;
		$_SESSION['pass'] = $_POST['name'];
		// usw.

		// include("inhalt.inc");
		echo "Guten Tag";
	   
	}else{
		// zähler
		if(isset($_POST['counter'])){
			$counter = $_POST['counter'];
		}else{
			$counter = 2;
		}

		if($counter > 0){

			// wenn login-Daten falsch sind
			if(isset($_POST['save'])){
				echo "<p>Ihre Benutzerdaten sind nicht korrekt.</p>";
				$counter--;
			}
?>

	<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
		<fieldset>
		<legend>Login </legend>

			<label>Benutzername: </label>
			<input type="text" name="name" size="25" /><br />

			<label>Passwort: </label>
			<input type="password" name="pass" size="25" /><br />

			<input class="submit" type="submit" value="senden" />
			<input type="hidden" name="save" />
			<input type="hidden" name="counter" value="<?php echo $counter; ?>" />

		</fieldset>
	</form>

<?php

		}else{
			echo "<p>You suck.</p>";
		}
	}
?>


Gibt ein Benutzer nur Leerzeichen ein ist das gleichbedeutend mit einer falschen Eingabe und wird zurückgewiesen.
Anstelle von include("inhalt.inc"); kann natürlich auch eine Weiterleitung erfolgen, bei größeren Projekten bietet sich das der Übersichtlichkeit wegen an.

Der oben beschriebene Weg ist eine Anregung, keine fertige Lösung.
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0