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-Key: 163826

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

Printed on: April 24, 2024 at 16:04 o'clock

Member: builder4242
builder4242 Apr 01, 2011 at 17:19:46 (UTC)
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
Member: hansilein
hansilein Apr 01, 2011 at 18:02:33 (UTC)
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
Mitglied: 86263
86263 Apr 01, 2011 at 19:43:53 (UTC)
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
Member: dog
dog Apr 01, 2011 at 21:03:21 (UTC)
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');  
?>
Member: weissnichtwas
weissnichtwas Apr 01, 2011 at 21:38:12 (UTC)
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
Mitglied: 86263
86263 Apr 01, 2011 at 22:04:06 (UTC)
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
Member: builder4242
builder4242 Apr 01, 2011 at 23:19:33 (UTC)
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.
Member: Arano
Arano Apr 02, 2011 at 13:12:18 (UTC)
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 ?
Member: weissnichtwas
weissnichtwas Apr 02, 2011 at 19:30:54 (UTC)
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
Member: weissnichtwas
weissnichtwas Apr 02, 2011 at 19:34:39 (UTC)
Goto Top
ne ist gut
anfäger fehler

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