Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Hoe info profielen koppelen aan klantgegevens

Pagina: 1
Acties:
  • 389 views

  • Robinho96
  • Registratie: Januari 2012
  • Laatst online: 00:28
Hallo,

Ik ben voor mijn GIP (website met webshop voor slagerij) bezig aan een loginsysteem zodat klanten hun producten kunnen kopen op de site. Nu zou ik graag er voor willen zorgen dat ik de aanmeldgegevens kan koppelen aan de gegevens van de klanten zodat ik weet welke klant zich heeft aangemeld. Ik zou dit willen doen door de klant_id in de tabel Profielen te koppelen aan de ID (primaire sleutel) in de tabel Klanten. Maar ik weet niet hoe ik dit moet doen in PHP. Ik heb al gezocht op het internet daarvoor maar ik vind niet direct de oplossing voor mijn probleem oftewel versta ik niet wat er staat. Ik heb geprobeerd de variabele $id (waar de array ID in zit) te gebruiken om het als value in te geven in mijn tabel profielen maar ik weet niet of dit werkt.

Kan iemand mij hiermee helpen?

Groeten,


Robin Verbeek

hier is alvast de code:

registreer.php:
<html>
<head>
<title> Registreer </title>
</head>
<body>
<form method="post" action="">
<table cellpadding="2" border="0" width="500">
<tr>
<td>Naam: <input type="text" name="Naam"></td><td>Voornaam: <input type="text" name="Voornaam"></td>
</tr>
<tr>
<td>Straat: <input type="text" name="Straat"></td><td> Nr.: <input type="text" name="Huisnummer"></td> <td> Bus: <input type="text" name="Bus"></td>
</tr>
<tr>
<td>Postcode: <input type="text" name="Postcode"></td><td> Gemeente: <input type="text" name="Gemeente"></td>
</tr>
<tr>
<td>Telefoonnummer: <input type="text" name="Telefoonnummer"></td>
</tr>
<tr>
<td>Email: <input type="text" name="E-mail"></td>
</tr>
</table><br>
<input type="submit" name="verzendknop" value="Verzend"><br><br>
<?php
if(isset($_POST['verzendknop'])) // is er op de verzendknop geklikt?
{
if(!empty($_POST['Naam'])&&!empty($_POST['Voornaam'])&&!empty($_POST['Straat'])
&&!empty($_POST['Huisnummer'])&&!empty($_POST['Postcode'])
&&!empty($_POST['Gemeente'])&&!empty($_POST['Telefoonnummer'])&&!empty($_POST['E-mail']))
{
include('connect_gip.php');
$id=$rij['Id'];
$naam=$_POST['Naam'];
$voornaam=$_POST['Voornaam'];
$straat=$_POST['Straat'];
$huisnummer=$_POST['Huisnummer'];
$bus=$_POST['Bus'];
$postcode=$_POST['Postcode'];
$gemeente=$_POST['Gemeente'];
$telefoonnummer=$_POST['Telefoonnummer'];
$email=$_POST['E-mail'];
$query="INSERT INTO klanten (Naam, Voornaam, Straat, Huisnummer, Bus, Postcode, Gemeente, Telefoonnummer, `E-mail`) VALUES ('$naam', '$voornaam', '$straat', '$huisnummer', '$bus', '$postcode','$gemeente','$telefoonnummer','$email');";
$res=mysql_query($query,$cn) or die('query mislukt');
mysql_close($cn);
if($query = true)
{
include('login_gegevens.php');

}
}
else
{
echo 'Gelieve de nodige velden in te vullen.';
}
}
?>
</form>
</body>
</html>


login_gegevens.php:

<?php
echo "Vul nu je gewenste gebruikersnaam en wachtwoord in: ";
?>
<table>
<tr>
<td>Gebruikersnaam: <input type="text" name="username"></td>
</tr>
<tr>
<td>Wachtwoord: <input type="password" name="password1"></td>
</tr>
<tr>
<td>Vul je wachtwoord opnieuw in: <input type="password" name="password2"></td>
</tr>
</table><?php
if(!empty($_POST['username'])&&!empty($_POST['password']))
{
include('connect_gip.php');
$username=$_POST['username'];
$password1=$_POST['password1']
$password2=$_POST['password2'];
if($password1 != $password2)
{
echo "De wachtwoorden komen niet overeen";
}
else
{
$profiel="INSERT INTO profielen (Klant_id, Gebruikersnaam, Wachtwoord) VALUES('$id','$username','$password1');";
}
}
else
{
echo "Vul de velden in.";
}
?>

  • wij
  • Registratie: Maart 2001
  • Laatst online: 22-11 12:33

wij

Misschien een lompe opmerking. Het is natuurlijk leuk om php te leren en aan een projectje te werken. Maar ik zou niet graag als klant in dit systeem staan. Als je vragen hebt over zoiets elementairs, dan denk ik niet dat je genoeg ervaring hebt om een veilig systeem te bouwen. Nu is dit misschien geen hele kritieke informatie, maar veel mensen hergebruiken hun wachtwoord / email combinatie meerdere keren dus toch vervelend als het uitlekt. Ik zou je daarom aanraden om je hierin goed te verdiepen.

Is het niet een handiger alternatief om gebruik te maken van een kant-en-klare webshop oplossing? Er bestaan verschillende cms systemen die je gemakkelijk kunt implementeren (open source). Dan kan je van daaruit voorzichtig sleutelen etc?

  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

Lees ook dit eens door Wikipedia: SQL-injectie

Je site is nu gewoon zeer onveilig, tenzij iedere gebruiker alles mag doen op je database, inclusief mogelijk tabellen droppen.

Verder eens met bovenstaande post

(zie ook http://imgs.xkcd.com/comics/exploits_of_a_mom.png )

If you choose to criticise you choose your enemies


  • Robinho96
  • Registratie: Januari 2012
  • Laatst online: 00:28
Bedankt voor de snelle reacties:

ik moet het nog veiliger maken. Het is nog maar het begin.
het is voor het school, dus het mag geen geld kosten en we moeten alles zelf maken, dus ja.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Beveiliging later pas doen is bijzonder lomp en het enige wat het uitstellen daarvan doet is zorgen dat je (stukken) beveiliging vergeet. Beveiliging bouw je tijdens het developen, of je doet het effectief niet (met alle gevolgen van dien).

Wat je vraag betreft: wat je zoekt zijn afhankelijk van wat je nou precies wil ofwel joins, ofwel een aparte select op basis van een ID dat je uit een eerdere query hebt gehaald. Beiden worden héél uitgebreid besproken in elke basistutorial PHP/MySQL en is dus prima vindbaar als je gewoon bij het begin begint met leren. Wij hebben zelf wat joins betreft hier een leuk stukje staan: Programming FAQ - SQL.

Lees ook Waar hoort mijn topic? en Hoe post je code? / Hoe gebruik je de code tag? even door.

Ik ga dit topic sluiten omdat we je op dit moment maar op één manier kunnen helpen, en dat is door gewoon kant en klare voorbeeldcode te posten. Daar leer jij niks van, en wij hebben daar zoals je begrijpt ook niet veel zin in. Lees even wat basistutorials over hoe PHP en MySQL samenwerken, probeer dat toe te passen op je probleem en als dat niet lukt kun je op de juiste plek, met code tags en daarin alleen relevante (dus niet alle!) code. Daarmee kunnen we je op weg helpen op een manier die ook daadwerkelijk leerzaam is voor jou.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.