Aktuell eingeloggten Benutzer auslesen.

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

wärs nicht einfacher den aktuellen user (id und/oder name) in die $_SESSION variable (array) zu speichern (statt in der sessions-tabelle). dann hast du ihn immer parat.

Wie ist die URL deiner Seite?

An der Seite arbeite ich momentan nur Lokal auf meinem Pc

0

PHP MySQL Login System?

Jo ich habe eine Frage in sachen MySQL ...

Ich möchte ein Login-System mit PHP und MySQL erstellen, welches verschiedene Benutzer und Passwörter speichert. Darauf möchte ich von einem Java-Client per HTTPRequest drauf zugreifen. Nun war das Erste, woran ich gedacht habe: eine MySQL-Tabelle, welche die Nutzer und ihre verschlüsselten Passwörter beinhaltet, welche ich dann abfragen kann. Das hat auch super funktioniert. Allerdings frage ich mich nun: geht das nicht auch einfacher? MySQL benutzt doch schon ein eigenes Benutzer-System ... wenn ich mich mit PHP mit einer Datenbank verbinden will, dann muss ich doch einen Benutzername und ein Passwort eingeben. Und den Benutzern kann ich sogar Rechte zuweisen. Wäre es nun klug gleich das Benutzersystem von MySQL zu nutzen (sprich die im Client eingegebenen Benutzernamen/Passwörter als Parameter in mysqli_connect() anzugeben) oder ist eher ein eigenes Login-System zu bevorzugen? Was wäre in der Praxis sinnvoller/gängiger?

Ich danke schonmal für Eure Antworten :)

...zur Frage

Dieselbe Datenbank auf zwei verschiedene PCs?

Ich habe jetzt eine Webseite mit PHP programmiert und möchte, dass dieselben Daten (welche sich von Zeit zu Zeit verändern) auf der Webseite angezeigt werden egal auf welchem PC ich mich gerade befinde, ohne einen Webserver zu mieten. Kann ich die Daten von zwei Datenbanken synchronisieren, oder auf eine Online Datenbank zugreifen?

...zur Frage

PHP Text wird in Mysql Datenbank nicht richtig codiert?

Hey,

Wenn ich text in meiner MYSQL Datenbank speichern möchte, dann wird dieser bei äöü nicht richtig gespeichert. Die Mysql Datenbank ansich ist auf UTF-8 gestellt auch in phpmyadmin lassen sich äöü speichern ohne Probleme nur dann wird beim ausgeben wieder alles Falsch übersetzt, was sich aber mit encode lösen lässt nur wir geht es beim Insert? Ist was am Webserver Falsch?

...zur Frage

INSERT INTO wird doppelt eingetragen warum (MySQL)?

Hallo zusammen,

leider finde ich den Fehler nicht hab ihr ne Idee warum mein Formular doppelt Eingetragen wird ? Hier der Code:

if(isset($_GET["sub-manuel"])){
	$addr = $_POST["address"];
	$currencyid = $_POST["currencyid"];
	$coins = str_replace(",", ".", $_POST["coins"]);
	$cost_currency = $_POST["cost_currency"];
	$cost_cash = str_replace(",", ".",$_POST["cost_cash"]);
	$cost_eur = $cost_cash;
if(!empty($addr)) {
    $address = $addr;
}
else {
    $address = "novalue";
}

$balance = number_format($coins, 12);
$symbol = findCryptoSymbol($currencyid);

$query ="INSERT INTO coins (user_id, currencyid, symbol, address, coins, cost_eur, status) VALUES (:user_id, :currencyid, :symbol, :address, :coins, :cost_eur, :status)";
$statement = $pdo->prepare($query);
$statement->execute(array('user_id' => $user["id"], 'currencyid' => $currencyid, 'symbol' => $symbol,'address' => $address, 'coins' => $balance, 'cost_eur' => $cost_eur, 'status' => true ));

if ($statement->execute()){
    $insertdatavalue = true;
}
else {
    $insertdatavalue = false;
}

}

Danke im voraus!

...zur Frage

Habe ich eventuell fehlerhaften PHP-Code?

Hier mein Code (habe ich aus einem YouTube-Tutorial:

https://www.youtube.com/watch?v=arqv2YVp_3E):

<?php
  // Get value
  $username = $POST['username'];
  $password = $POST['password'];

  // Prevent MySQL injection
  $username = stripcslashes($username);
  $password = stripcslashes($password);
  $username = mysql_real_escape_string($username);
  $password = mysql_real_escape_string($password);

  // Connect to MySQL
  mysql_connect("MEINESERVERURL", "MEINACCOUNT", "MEINPASSWORT");
  mysql_select_db("MEINEDATENBANK");

  // Query the database for user
  $result = mysql_query("select * from users where username = '$username' and password = '$password'") or die("Unable to login: database query error!".mysql_error());
  $row = mysql_fetch_array($result);
  
  if ($row['username'] == $username && $row['password'] == $password ){
    echo "Login successful! Welcome!".$row['username'];
  }
  else {
    echo "Login failed!";
  }
?>

Und hier meine Fehlermeldungen:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user ''@'localhost' (using password: NO) in DATEIPFAD on line 9
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in DATEIPFAD on line 9
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user ''@'localhost' (using password: NO) in DATEIPFAD on line 10
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in DATEIPFAD on line 10
Warning: mysql_connect() [function.mysql-connect]: Connection timed out in DATEIPFAD on line 13
Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user ''@'localhost' (using password: NO) in DATEIPFAD on line 14
Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in DATEIPFAD on line 14
Warning: mysql_query() [function.mysql-query]: Access denied for user ''@'localhost' (using password: NO) in DATEIPFAD on line 17
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in DATEIPFAD on line 17
Unable to login: database query error!Access denied for user ''@'localhost' (using password: NO)

Was sollte ich ändern, damit es funktioniert?

...zur Frage

Finde den Fehler nicht(PHP)?

Ich arbeite an einem Login. In einer Tabelle "users" in einer Datenbank gibt es die Spalten "username" und "password". In einem Formular gebe ich beide Dinge ein um mich einzuloggen. Diese Eingaben vergleiche ich dann mit einer Abfrage und das daraus resultierende Ergebnis. Nun habe ich schon einige Ausgaben mit eingebaut, die überprüfen sollen, an was mein Problem liegt. Das Problem liegt daran, dass in $row nichts gespeichert ist. var_dump() gibt hier "NULL". Wenn ich die SQL-Abfrage jedoch in phpmyadmin eingebe funktioniert sie. Woran könnte es noch liegen?

<?php
//Initialisierung der Session
session_start();

//Verbindung zur Datenbank
$pdo = new PDO(DIE VERBINDUNGSDATEN);

//Übernahme aus Formular
$name = $_POST["username"];
$password = $_POST["pwd"];

$shapwd = sha1($password);

//Suchkriterien angeben
$sql = "SELECT * from users WHERE username=$name AND password=$shapwd";

//LoginOK zeigt Status login an
$loginOk = false;

var_dump($name);
echo "<br>";
var_dump($shapwd);
echo "<br>";
echo "<br>";

//Durchsuchen der Datenbank
foreach($pdo->query($sql) AS $row){    
    echo $row['username']."<br>";
    echo $row['password']."<br>";
        /*
    if($row['username']==trim($name) && $row['password']==trim($shapwd)){
        $loginOk = true;
        break;
    }*/
}

var_dump($row['username']);
echo "<br>";
var_dump($row['password']);
echo "<br>";
echo "<br>";

if($loginOk === true){
    header('Location: ../mainpage.php');
}else{
    header('Location: ../falsch.html');
}
?>
...zur Frage

Was möchtest Du wissen?