• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

php anmeldebereich

  • Ersteller Ersteller incendium
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
I

incendium

Guest
hi an alle,

ich wollte auf meine homepage einen bereich machen, wo man sich anmelden, und einloggen kann.

aber zum anmelden.
wenn sich ein user neu anmeldet, wie mach ich das am besten das es seinen benutzernamen, und sein password speichert. würdet ihr es so machen? oder gibt es noch andere methoden:
PHP:
$db_link = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)

mysql_select_db(MYSQL_DATABASE)

CREATE TABLE $Name (
    $Benutzername,
    $Passwort,
);
Die $Benutzername, Passwort und Name bekomm ich vom html anmeldeberreich zugeschickt. wie soll ich es machen, so oder anderes??
 
ok jetzt hab ich noch ein problem, ich hab jetzt die tabelle erstellt.
die html datei ist:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title>neu hier</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  </head>
  <body>
  <h1>
  Hier kannst du dich anmelden:
  </h1>
  <form action="neu_hier.php" method="post">
  Benutzername:<input type="text" name="Benutzername">
  Passwort:<input type="password"name="Passwort">
  Name:<input type="text" name="Name">
  <input type="submit">
  </form>
  
  
  </form>
    
  </body>
</html>

und die php datei:
PHP:
<?php
$db_link = mysql_connect("localhost", "****", "****")

mysql_select_db("incendium93_01")

INSERT INTO benutzer
    (Benutzername,Passwort,Name,Datum)
VALUES
    ('$Benutzername',
     '$Passwort',
     '$Name',
     NOW()
);
?>

warum kommt die fehlermeldung:
Code:
[B]Parse error[/B]:  syntax error, unexpected T_STRING in [B]/usr/export/www/vhosts/funnetwork/hosting/incendium93/neu_hier.php[/B] on line [B]4[/B]
bitte um hilfe??!?
 
Hallo,

nach
Code:
[COLOR=#000000][COLOR=#0000bb]mysql_select_db[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"incendium93_01"[/COLOR][COLOR=#007700])[/COLOR][/COLOR]
fehlt das ; und der INSERT Befehl muss über mysql_query gegeben werden.

Edit: Nach mysql_connect fehlt auch das ;

N43
 
Also du machst dir erst einmal eine MySQL Tabelle in der steht:
Code:
CREATE TABLE userlogin (
user VARCHAR(15) PRIMARY KEY,
pw VARCHAR(50),
email VARCHAR(50),
member TINYINT,
time_stamp DATETIME,
rights TINYINT,
notes VARCHAR(100)
)

Dann machst du eine Datei mit den Namen login.php:
PHP:
<?php
$status_no = "<p>Nicht eingeloggt!</p>";
$status_yes = "<p>Status: eingeloggt - 
<a href='{$_SERVER['PHP_SELF']}?logoff=1'>Ausloggen?</a></p>";
include "sessionheader.inc.php";
include "zugriff.inc.php";
include "loginmaker.inc.php";
include "logoffmaker.inc.php";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Einloggseite</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div>Startseite - <?php
if (isset($_SESSION['login']) && isset($_SESSION['user'])) {
  echo "<a href="seite1.php">Seite 1</a> - 
<a href="seite2.php">Seite 2</a> - <a href="seite3.php">Seite 3</a>";
} else {
  echo "";
}
?></div>
<h1>Willkommen auf der Startseite</h1>
<?php
if (isset($_SESSION['login']) && $_SESSION['login'] === true) {
  echo $status_yes;
} else {
  echo $status_no;
} 
echo <<<FORMULAR
<form action="{$_SERVER['PHP_SELF']}" method="post">
Benutzername:<br>
<input type="text" name="user"><br>
Passwort:<br>
<input type="password" name="pw">
<input type="submit" value="Absenden">
</form>
FORMULAR;
?>
</body>
</html>

Dann eine sessionheader.inc.php:
PHP:
<?php
ini_set("session.use_cookies", 1);
ini_set("session.use_only_cookies", 1);
ini_set("session.use_trans_sid", 0);
session_start();
?>

Dann eine zugriff.inc.php:
PHP:
<?php
@mysql_connect("localhost","root","Passwort") or die("Verbindung zu MySQL gescheitert");
@mysql_select_db("Datenbank") or die ("Datenbankzugriff gescheitert")
?>

Dann eine loginmaker.inc.php:
PHP:
<?php
if (!empty($_POST['user']) && !empty($_POST['pw'])) {
  if (SID != "") { // SID ungleich Leerstring
    $status_no = "<p>Bitte schalte Cookies ein!</p>";
  } else {
    $user = trim($_POST['user']);
    $pw = trim($_POST['pw']);
    $pw = md5($pw);
    $loginsql = "SELECT user, pw FROM userlogin
WHERE user='$user' AND pw='$pw'";
    $result = mysql_query($loginsql);
    if (mysql_num_rows($result) == 1) {
      $_SESSION['login'] = true;
      $status_yes = "<p>Du bist eingeloggt als <strong>$user</strong>!</p>";
    } else {
      $_SESSION['login'] = false;
      $status_no = "<p>Einloggdaten nicht korrekt!</p>";
    } 
  } 
} 
?>

Dann eine logoffmaker.inc.php:
PHP:
<?php
if (isset($_GET['logoff']) && $_GET['logoff'] == 1) {
  session_unset();
  if (isset($_COOKIE['PHPSESSID'])) {
    setcookie("PHPSESSID", "", time()-86400);
  } 
  session_destroy();
} 
?>


MfG Peter Lohse
 
Zuletzt bearbeitet:
Am besten verschlüsselst du die Passwörter noch mit MD5(), damit sie auch wirklich niemand auslesen kann.
 
thx, aber ich wollte erstmal selber versuchen eins zu baun. ich steh grad voll aufm schlauch. ich weiß net was du mit mysql-query meinst. kannst du net mal den ganzen php code richtig posten?!?

ja aber ich will ja erstma den anmeldebereichnach meinen prinzip. könnt ihr ihn verbessern??

PHP:
   <?php
$db_link = mysql_connect("localhost", "****", "****");

mysql_select_db("incendium93_01");

INSERT INTO benutzer
    (Benutzername,Passwort,Name,Datum)
VALUES
    ('$Benutzername',
     '$Passwort',
     '$Name',
     NOW()
);
?>
 
Zuletzt bearbeitet von einem Moderator:
was ist das hier:

PHP:
<?php
    '$Benutzername',
     '$Passwort',
     '$Name',
?>

?

es gibt kein register_globals mehr.

Nils aka XraYSoLo
 
nj diese variablen sollen die sein die mir vonder html datei übermittel werden.(mit post) ich steh grad voll aufm schlauch, ich muss doch noch i-was mit arrays machen, dass die variablen die übermittelt werden, überhaupt richtig speichert odda?

das prinzip ist:

Benutzer gibt passwort, benutzername, name ein.
wird an mysql datenbank übermittelt, gespeichert.
--->später abrufen

und das Speichern in der Datenbank funkt net
 
Zuletzt bearbeitet von einem Moderator:
(old user)


Ich weiß nicht, wie viele Doppelpostings ich von dir nun schon zusmamengefasst habe - ich hoffe (für dich), dass dies hier die letzten beiden waren.

Schau dir bitte mal ausführlich die Forenregeln an und handle auch danach, sprich: Nutze die Editier-Funktion!
 
PHP:
Parse error:  syntax error, unexpected T_STRING in /usr/export/www/vhosts/funnetwork/hosting/incendium93/neu_hier.php on line 4
Fehlermeldungen muss man verstehen um mit einer Programmiersprache umzugehen :roll:..
PHP:
<?php 
$db_link = mysql_connect("localhost", "****", "****"); 
 
mysql_select_db("incendium93_01"); 

$data = $_POST;
 
$Benutzername = $data['Benutzername'];
$Passwort = md5($data['Passwort'])
$Name = $data['Name'];

@mysql_query("INSERT INTO benutzer 
    (Benutzername,Passwort,Name,Datum) 
VALUES 
    ('".$Benutzername."', 
     '".$Passwort."', 
     '".$Name."', 
     NOW() 
)");

?>
Ich hoffe ne Erklärung kannst du dir selbst zusammenreimen oder es helfen dir die html.de-User ;)
 
hab diesen code jetzt verwendet. es kommt wieder eine fehlermeldung:

Code:
[B]Parse error[/B]:  syntax error, unexpected T_VARIABLE in [B]/usr/export/www/vhosts/funnetwork/hosting/incendium93/neu_hier.php[/B] on line [B]10[/B]
Sicher dass die html und php Datei richtig sind?
html datei:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title>neu hier</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  </head>
  <body>
  <h1>
  Hier kannst du dich anmelden:
  </h1>
  <form action="neu_hier.php" method="post">
  Benutzername:<input type="text" name="Benutzername">
  Passwort:<input type="password"name="Passwort">
  Name:<input type="text" name="Name">
  <input type="submit">
  </form>
  
  
  </form>
    
  </body>
</html>
und die php datei:
HTML:
   <?php

$db_link = mysql_connect("localhost", "*****", "*****");

mysql_select_db("incendium93_01");

$data = $_POST;

$Benutzername = $data['Benutzername'];
$Passwort = md5($data['Passwort'])
$Name = $data['Name'];

@mysql_query("INSERT INTO benutzer
    (Benutzername,Passwort,Name,Datum)
VALUES
    ('".$Benutzername."',
     '".$Passwort."',
     '".$Name."',
     NOW()
)");

?>
 
ja mein gott, ein bisschen selber fehlersuchen schade auch nichts. ich habs auf den ersten blick erkannt, es fehlt ein semikolon.

einfach nur abkupfern und sich dann wundern, dass es nicht geht, sowas hab' ich um ehrlich zu sein schon erwartet...

Nils aka XraYSoLo
 
oder ein anderes problem, wieso funktioniert dieser code nicht:

PHP:
<?php
echo "Sie haben den Benutzernamen $_GET['benutzernamen'] und das Passwort $_GET['password'] genommen."
?>
 
PHP:
   <?php
echo "Sie haben den Benutzernamen ".$_GET['benutzernamen']." und das Passwort ".$_GET['password']." genommen."
?>

Probiers mal so ...
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben