weissnichtwas
Goto Top

PHP geschützer bereich

noch unerfahren in php
also ich hab so einen kleinen login script programmiert, funktioniert auch alles, aber ich möchte was im geschützen bereich machen:
<?php
session_start();
if(!isset($_SESSION['username']))  
   {
   echo "Bitte erst <a href=\"login.html\">einloggen</a>";  
   exit;
   }
?>

<html>
Herzlich Willkommen im geschützen Bereich
</html>

das ist jetzt mal sehr abgespeckt.
ich möchte noch den usernamen drauf bekommen
ich hab es unter mit
echo "Hallo username";  
und
echo "hallo $username";  
versucht, keines funktioniert aber, warum nicht?
Und noch was: Wenn ich noch weitere sachen machen will, informationen über den user und so, brauch ich dann mysql oder geht das auch über PHP
danke und nicht lachen
jeder fing mal klein an

Content-ID: 163826

Url: https://administrator.de/contentid/163826

Ausgedruckt am: 25.11.2024 um 10:11 Uhr

builder4242
builder4242 01.04.2011 um 19:19:46 Uhr
Goto Top
Hallo,


Du hast recht, jeder fing mal klein an. Aber zumindest sollte man sich erstmal selbst durchlesen und mal ein paar Sachen erfolgreich selbst programmiert haben bevor mal solch banale Fragen stellt.

http://aktuell.de.selfhtml.org/artikel/php/loginsystem/

grüße

nichts für ungut
hansilein
hansilein 01.04.2011 um 20:02:33 Uhr
Goto Top
Hi probiere mal folgendes:

 echo 'Hallo '.$username;  

So wie du es gemacht hast würdest du das Ganze in einen einfachen String konvertieren. Somit auch keine Ausgabe des Variableninhalts.

mfg
86263
86263 01.04.2011 um 21:43:53 Uhr
Goto Top
@hansilein:
Das ist Quatsch. Wenn Variablen in doppelten Anführungszeichen eingeschlossen sind, gibt PHP den Variableninhalt aus.
Wenn es einfache wären, hättest du recht.

Es liegt ganz einfach daran, dass die Variable $username nicht existiert.
Wenn, dann $_SESSION['username'].


MfG,
DB
dog
dog 01.04.2011 um 23:03:21 Uhr
Goto Top
Es liegt ganz einfach daran, dass die Variable $username nicht existiert.

Die existiert schon....in Uralt-Versionen von PHP wo noch mit register_globals gearbeitet wird.
Das findet sich auch noch so in älteren Büchern und Anleitungen (manchmal sogar lustig gemischt).
Zum Glück gibt es diese Seuche bald nicht mehr.

Natürlich hätte der TO das auch gesehen, wenn er seine Entwicklungsumgebung mal richtig einstellt:
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors','On');  
?>
weissnichtwas
weissnichtwas 01.04.2011 um 23:38:12 Uhr
Goto Top
und wie sieht jetzt das ganze aus, wenn ich es nur mit $_SESSION['username'] und echo mache dann kommt error
ich muss die var $_SESSION['username'] mit irgendwas bestücken, ich denke mal den username, aber ist der nicht schon drin
das verwirrt mich im moment sehr
86263
86263 02.04.2011 um 00:04:06 Uhr
Goto Top
Zitat von @weissnichtwas:
wenn ich es nur mit $_SESSION['username'] und echo mache dann kommt error
ich liebe ja genaue Fehlerbeschreibungen.

MfG,
DB
builder4242
builder4242 02.04.2011 um 01:19:33 Uhr
Goto Top
Wie wäre es wenn du dich erstmal durch ein paar php grundkenntnisse liest, dann wird auch erklärt wann sql von nutzen ist.
Arano
Arano 02.04.2011 um 15:12:18 Uhr
Goto Top
Tag auch.

ich es nur mit $_SESSION['username'] und echo mache
Wie genau, was hast du wie gemacht und... poste lieber gleich die geänderten Zeilen/Abschnitte
dann kommt error
Und welcher ?
weissnichtwas
weissnichtwas 02.04.2011 um 21:30:54 Uhr
Goto Top
<?php
session_start();
if(!isset($_SESSION['username']))  
   {
   echo "Bitte erst <a href=\"start.html\">einloggen</a>";  
   exit;
   }
?>

<html>
<h1>Hallo</h1>
<?php
$_SESSION['username']  
echo "$_SESSION";  
?>


</html>

so habs ich versucht, aber es geht nicht
und das mit dem error : Parse error: syntax error, unexpected T_ECHO in C:\Users\xxx\xxx\xxx\xampp\htdocs\test\geheim.php on line 14


ich find das irgendwie unlogisch
weissnichtwas
weissnichtwas 02.04.2011 um 21:34:39 Uhr
Goto Top
ne ist gut
anfäger fehler

in zeile 13 steht jetzt
$username = $_SESSION['username'];