Nur eigenen Datensatz anzeigen lassen

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

FIA1983

Neues Mitglied
16 November 2020
2
0
1
38
Hallo,

ich stehe vor einem großen Problem und bekommen das nicht gelöst. Ich habe ein Registrierungsformular mit dem sich ein User registrieren kann. Nach erfolgreicher Registrierung kann sich der User einloggen und gelangt auf die Shop Seite. Der User wird mit seinem persönlichen Namen begrüßt. Das funktioniert alles soweit ganz gut.

Jetzt zu meinem Problem:
Es gibt ein Formular auf der Shop Seite, mit dem der User seine Daten abfragen kann, um diese zu ändern. Ich dachte mir, dass der User im Formular zum Suchen der Daten seinen Vor- und Nachnamen eingibt. Das funktioniert, allerdings können auch die Daten von anderen User abgefragt werden. Dies soll so nicht der Fall sein.
Wie kann ich jetzt eine Abfrage starten, mit der der User nur seinen eigenen Datensatz zurück bekommt und keine anderen? Bitte um Hilfe. Vielen Dank




<?php
session_start();
include 'db_verbindung/connection.php';
$pdo = new PDO('mysql:host=localhost;dbname=datenbankprojekt','root','');

$id = "";
$vorname= "";
$nachname = "";
$strasse = "";
$plz = "";
$ort = "";
$geburtsdatum = "";
$telefon = "";
$email = "";
$passwort = "";

if (isset($_POST['search_x'])) {
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$strasse = $_POST['strasse'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$geburtsdatum = $_POST['geburtsdatum'];
$telefon = $_POST['telefon'];
$email = $_POST['email'];


$query = "SELECT * FROM tbl_kunden WHERE vorname = :vorname and nachname = :nachname";
$pdo_result = $pdo->prepare($query);
$pdo_exec = $pdo_result->execute(array("vorname"=>$vorname, "nachname"=>$nachname));

if ($pdo_exec)
{
if ($pdo_result->rowcount()>0)
{
foreach ($pdo_result as $row)
{
$id = $row['id'];
$vorname = $row['vorname'];
$nachname = $row['nachname'];
$strasse = $row['strasse'];
$plz = $row['plz'];
$ort = $row['ort'];
$geburtsdatum = $row['geburtsdatum'];
$telefon = $row['telefon'];
$email = $row['email'];
$passwort = $row['passwort'];
}
print_r($pdo_exec);
}

else
{
echo '<script>alert("Daten wurden nicht gefunden")</script>';
}

}
else
{
echo '<script>alert("Daten wurden nicht gesucht")</script>';
}
}
?>
 
Zuletzt bearbeitet:

basti1012

Senior HTML'ler
26 November 2017
1.684
177
63
Minden
basti1012.de
Ich dachte mir, dass der User im Formular zum Suchen der Daten seinen Vor- und Nachnamen eingibt. Das funktioniert, allerdings können auch die Daten von anderen User abgefragt werden. Dies soll so nicht der Fall sein.
Wie wäre es, wenn die Daten mit den PHP Script eingeben läßt ?
Ich meine das so, wenn der User eingeloggt ist und eine Session gesetzt ist, kannst du doch ohne Probleme ihn seine Daten anzeigen lassen.

Ich kenne deinen Shop nicht und kann da jetzt nichts Genaueres zu sagen .
Ich bin aber der Meinung das die großen Shop Software Anbieter eine Funktion eingebaut haben um seine Daten ändern zu können.
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.631
189
63
Ich dachte mir, dass der User im Formular zum Suchen der Daten seinen Vor- und Nachnamen eingibt.
Das ist sowas von fahrlässig, da kann man nur hoffen, dass dieser Shop niemals online geht.

Bei der Registrierung schreibt du zu den persönlichen Daten einen eindeutigen Ident in die DB und genau diesen benutzt du zur Identifizierung nach dem Login.
 
Werbung: