MYSQL Variable registrieren

Bigbutcher

Erfahrenes Mitglied
Hiho,

ich benutze das Loginscript hier aus der Tutorialsecke und es funktioniert bestens. Aber ich hab das Problem, dass ich noch ein paar Variablem registrieren muss.

$sql = "SELECT * FROM intern WHERE Benutzer = BINARY '$username' && Passwort = BINARY '$password'";
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0) {
// Ein Datensatz wurde gefunden.
$datenrichtig = true;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = true;
} else {
// Die Benutzerdaten waren falsch.
$datenrichtig = false;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = false;
}

// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt", "IID", "Benutzer", "Passwort", "Rechte");
?>

Das ist der Quelltext.
Und ich will halt aus der SQL Abfrage die Variablem gleich registrieren, damit der USer nur seine Posts editieren kann.
Das sind die Variablen IID, Benutzer, Passwort, Rechte.
Weiss einer wie das geht?

MfG
 
Du musst die Vars auslesen.zB. aus einer Mysql Tabelle
PHP:
<?php
$sql = "SELECT * FROM intern WHERE Benutzer = BINARY '$username' && Passwort = BINARY '$password'";
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0) {
// Ein Datensatz wurde gefunden.
$datenrichtig = true;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = true;
} else {
// Die Benutzerdaten waren falsch.
$datenrichtig = false;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = false;
}
// Auslesen
$sqlkommando = "SELECT * FROM intern WHERE Benutzer = '$benutzer'" ;
$query = mysql_query("$sqlkommando") ;
$daten = mysql_fetch_array("$query") ;
$IID = $daten["iid"] ;

// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt", "IID", "Benutzer", "Passwort", "Rechte");
?>
habs nicht getestet aber so muest es gehen...
 
if (mysql_num_rows ($result) > 0) {
$sqlkommando = "SELECT * FROM intern WHERE Benutzer = BINARY '$username' && Passwort = BINARY '$password'";
$query = mysql_query($sqlkommando);
$daten = mysql_fetch_array($query);
$IID = $daten["IID"];
$Benutzer = $daten["Benutzer"];
$Passwort = $daten["Passwort"];
$Rechte = $daten["Rechte"];

// Ein Datensatz wurde gefunden.
$datenrichtig = true;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = true;
} else {
// Die Benutzerdaten waren falsch.
$datenrichtig = false;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = false;
}

// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt", "IID", "Benutzer", "Passwort", "Rechte");
?>

Ich hab das nu so stehen.
Aber der übergibt die Variablen immernoch nicht...
Wenn ich die Variablen über einen echo Befehl ausgeben möchte
zB echo $Benutzer;
dann kommt als Egebnis 1 bei raus.
egal welche Variale ich verwende...
Trotzdem riesen THX. ist ein super ansatz
 
mach doch mal debugging... schreib mal irgendwo nach dem login hin
Das muss funzen... da darf nicht 1 raus kommen... ich habs auch so:
PHP:
// Variable $user_eingeloggt erstellen.
$user_eingeloggt = false;
}

// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt");
session_register  ("IID") ;
// Für alles eine eigene Spalte...

?>
PHP:
<?php
echo "$IDD" ;
?>
und guck wann es geht... oder lass dir den mysql error ausgeben!
meins ist so :
PHP:
<?php
if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {
echo "Sie sind schon eingelogt...<a href='?site=user&action=logout&".session_name()."=".session_id()."'>";
}
else {
if ($check) {
$connID = mysql_connect ("localhost", "web39", "paulpaul");
@mysql_select_db ("usr_web39_1", $connID);
$sql = "SELECT * FROM user WHERE (user like '$username') AND (pw = '$password')";
$result = mysql_query ($sql, $connID);
if (mysql_num_rows($result) > 0) {
  // Ein Datensatz wurde gefunden.
  $datenrichtig = true;
// LEVEL HOLEN
include ("mysql/connect.php") ;
$sqlid = mysql_query("SELECT * FROM user WHERE user = '$username'") ;
$fetchid = mysql_fetch_array($sqlid) ;
$level = $fetchid["level"] ;
$userid = $fetchid["id"] ;
  // Variable $user_eingeloggt erstellen.
  $user_eingeloggt = true; 
} 
else {
  // Die Benutzerdaten waren falsch.
  $datenrichtig = false;

  // Variable $user_eingeloggt erstellen.
  $user_eingeloggt = false;
}
$user = $username ;
// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt");
session_register ("user");
session_register ("level") ;
session_register ("userid") ;
?>
<?php
if ($datenrichtig) { 
  echo "Vielen Dank für’s Einloggen. Sie werden weitergeleitet...<meta http-equiv='Refresh' content='1; url=?site=user&action=profile&id=$userid&" ;
  echo session_name() ;
  echo "=" ;
  echo session_id() ;
  echo "'>";
} 
else {
  echo "Die Daten waren falsch.";
}
// ende
}
else {
// einlogg form
echo "";
}
}
?>
 
Zuletzt bearbeitet:
Juhuu es geht nu :)

<?
session_start(); // Starte eine Session.
include("top.php");
include("dbconnect.php");

// Generiere und starte die Abfrage
$sql = "SELECT * FROM intern WHERE Benutzer = BINARY '$username' && Passwort = BINARY '$password'";
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0) {
$sqlkommando = "SELECT * FROM intern WHERE Benutzer = BINARY '$username' && Passwort = BINARY '$password'";
$query = mysql_query($sqlkommando) or die(mysql_error());
$daten = mysql_fetch_array($query);
$IID = $daten["IID"];
$Benutzer = $daten["Benutzer"];
$Passwort = $daten["Passwort"];
$Rechte = $daten["Rechte"];

session_register ("IID");
session_register ("Benutzer");
session_register ("Passwort");
session_register ("Rechte");
// Ein Datensatz wurde gefunden.
$datenrichtig = true;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = true;
} else {
// Die Benutzerdaten waren falsch.
$datenrichtig = false;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = false;
}

// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt");

?>
<head>
<?php if ($datenrichtig) {?>
<meta http-equiv="Refresh" content="0; url=intern.php?<?=session_name()?>=<?=session_id()?>">
<?php } ?>
</head>
<?php

if ($datenrichtig) {
echo "Vielen Dank für’s Einloggen. Sie werden weitergeleitet...";
} else {
echo "Die Daten waren falsch.";
}
include("down.php");
?>


Ich vermute mal mein Fehler lag darin, dass ich alle Variablen in einem session_register registrieren wollte.
Vielen,vielen,vielen Dank :)
 
Zuletzt bearbeitet:
Zurück