php scripte im login bereich
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
befehl
bildschirm
code
dank
datenbank
eingabe
ergebnis
frage
http
login
mache
machen
meldung
semikolon
session
setzen
speichern
system
tabelle
url
-
Hallo ,
ich wollte mal zum versuchen mal was kleines ausprobieren eine art geheime seite zu machen.
Da ich aber nicht soviel ahnung davon habe und es nur mal ein Test versuch (nur mal so was mit php gemacht) sein soll.
Und zwar hab ich folgendes Problem:
Wenn ich die seite bearbeiten will bzw <div setzen will klappt dies nicht ich hoffe ihr könnt mir helfen kleine einteilungen zu machen.
<?php error_reporting(E_ALL); include("mysql.php"); include("functions.php"); session_start(); include("autologout.php"); { $sql = "SELECT SessionID, Nickname, Letzter_Login FROM User WHERE ID = '".mysql_real_escape_string($_SESSION['UserID'])."' "; $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error()); $row = mysql_fetch_assoc($result); if(!$row){ echo "Sie sind nicht eingeloggt.<br>\n". "Bitte loggen sie sich ein <b>»</b> <a href=\"login.php\"><b>Login<B></a>\n"; } else{ echo "Willkommen \n"; echo htmlentities($row['Nickname'], ENT_QUOTES)."\n"; } } ?>
Ich hoffe ihr habt meine frage verstanden.
Dies sollte mal nur so zum php schnuppern sein.
Beitrag zuletzt geändert: 27.5.2012 15:36:28 von loliguy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn ich das jetzt richtig verstanden habe, dann möchtest du <div> in deiner Seite setzen. In PHP kannst du HTML Befehle auch mit echo ausführen.
<?php echo "<div id=\"xyz\">Text</div>"; ?>
Beitrag zuletzt geändert: 27.5.2012 15:26:52 von fuhnefreak -
Danke das klappt .
Dabei wenn ich das vor dem echo mit wo der nickname gesendet wird mache, kommt auch wieder nur ein weißer bildschirm
gibt es dazu auch eine lösung oder ist das einfach so bei php ? -
Hmm, eigendlich nicht.
Überprüfe mal, ob nach jedem Befehl ein Semikolon gesetzt ist. Denn in PHP musst du nach jedem Befehl immer ein Semikolon setzen. Vergessene Semikolons sind die am häufigsten gemachten Fehler in PHP. -
loliguy schrieb:
... kommt auch wieder nur ein weißer bildschirm
Du muss evtl auch noch display_errors an machen
schreib mal in eine .htaccess Datei:
php_flag display_errors on
dann bekommst du die Errors auch angezeigt ....
also das
error_reporting(E_ALL);
funktioniert oft nur im Zusammenspiel mit display_errors on
und da man bei vielen hostern kein ini_set machen kann, eben als .htaccess machen
:)
-
Also wenn ich z.B.
else{ echo "Willkommen \n"; echo "<div id=\"xyz\"> htmlentities($row['Nickname'], ENT_QUOTES).</div>"; }
mache kommt die meldung
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/webpages/lima-city/loliguy/html/ff/index.php on line 27
-
loliguy schrieb:
mache es anders ;) so:
Also wenn ich z.B.
mache kommt die meldung ...else{ echo "Willkommen \n"; echo "<div id=\"xyz\"> htmlentities($row['Nickname'], ENT_QUOTES).</div>"; }
else{ echo "Willkommen\n"; echo '<div id="xyz">' . htmlentities($row['Nickname'], ENT_QUOTES) . '</div>'; }
-
Ich danke dir !
Ja ich weiß ich bin nicht gut drin ich wollt mir das mal angucken und vlt stimmt der spruch übung macht den meister.
-
apexhomepage schrieb:
Kennt ihr ein gutes Tutorial wo ich es lernen kann so ein Login System mit der Datenbank und sowas =)
die Frage wurde auch gerade im Forum gestellt ... http://www.lima-city.de/thread/login-mysql
Antworten u.a. mit Link zu Tutorial
Beachte, das bei vielen Tutorials die Sicherheit bischen vernachlässigt wird,
zumindest das escapen der User-Eingabe sollte man immer machen
bevor man mit einer solchen Variable die MySQL-Abfragen macht
$username = mysql_real_escape_string($_POST['uname']);
$password = mysql_real_escape_string($_POST['upass']);
Der grundsätzliche Ablauf ist
a) User-Eingabe durch Formular (Username, Paswort)
b) Verbindung zur MySQL-Datenbank und Tabelle auswählen
c) Vergleich der User-Eingabe mit Bestand in der DB-Tabelle (Passwort prüfen)
d) Wenn Login richtig, dann in den Login-Bereich ..... sonst zurück und/oder Meldung "falsch"
Oft wird Ergebnis in Session gespeichert, damit nicht jeder Aufruf neu mit MySQL geprüft werden muss
sondern nur geprüft wird, ob das Session-Element existiert (und den richtigen Inhalt hat)
Ohne Session müsste bei jeder User-Aktion auch das Passwort "mitgeschleift" werden (GET/POST)
aber durch Speichern in Session hat man eine Variable (für einige Minuten) immer direkt verfügbar ...
alternative (bzw. oft auch in Kombination mit Session) ist: das Ergebnis in Cookie speichern
Beispiele siehe hier: http://www.php-einfach.de/tuts_mysql_login.php
oder siehe hier: http://www.tutorials.de/content/499-php-mysql-login-system-mit-sessions.html
oder siehe hier: http://tut.php-quake.net/de/login.html
oder selber googeln :) -
loliguy schrieb:
Also wenn ich z.B.
else{ echo "Willkommen \n"; echo "<div id=\"xyz\"> htmlentities($row['Nickname'], ENT_QUOTES).</div>"; }
Du kannst aber auch, wenn Du die doppelten Anführungszeichen verwenden willst, folgenden Code nutzen:
else { echo "Willkommen \n"; echo "<div id=\"xyz\">".htmlentities($row['Nickname'], ENT_QUOTES)."</div>"; }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage