Vrienden systeem probleem
Hallo Progammeurs,
Ik ben bezig met een vrienden systeem.
Maar ik loop vast bij een klein dingetje waar van
ik de fout niet kan ontdekken, misschien jullie wel?
Want de fout is dat hij de ID van de persoon zelf niet insert
in de vrienden table maar die van de vriend wel :S
Ik ben bezig met een vrienden systeem.
Maar ik loop vast bij een klein dingetje waar van
ik de fout niet kan ontdekken, misschien jullie wel?
Want de fout is dat hij de ID van de persoon zelf niet insert
in de vrienden table maar die van de vriend wel :S
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$snaam = $_SESSION['naam'];
// de lid_id selecteren uit de table: leden
if(isset($_POST['vriend_toevoegen'])) {
$query4 = mysql_query("SELECT * FROM leden WHERE naam='".$snaam."' ") or die(mysql_error());
$row4 = mysql_fetch_assoc($query4);
$query6 = mysql_query("SELECT * FROM leden WHERE naam='".$_GET['naam']."' ") or die(mysql_error());
$row5 = mysql_fetch_assoc($query6);
$query8 = "INSERT INTO vrienden (lid_id, friend_id) VALUES ('".$row4['lid_id']."', '".$row5['lid_id']."')";
mysql_query($query8) or die (mysql_error());
echo "<p><strong>".$naam." is als je vriend toegevoegd!</strong><br />
<a href='http://www.mybuddies.nl/ingelogd.php'>Klik hier om terug te gaan naar de hoofdpagina</a></p>";
?>
$snaam = $_SESSION['naam'];
// de lid_id selecteren uit de table: leden
if(isset($_POST['vriend_toevoegen'])) {
$query4 = mysql_query("SELECT * FROM leden WHERE naam='".$snaam."' ") or die(mysql_error());
$row4 = mysql_fetch_assoc($query4);
$query6 = mysql_query("SELECT * FROM leden WHERE naam='".$_GET['naam']."' ") or die(mysql_error());
$row5 = mysql_fetch_assoc($query6);
$query8 = "INSERT INTO vrienden (lid_id, friend_id) VALUES ('".$row4['lid_id']."', '".$row5['lid_id']."')";
mysql_query($query8) or die (mysql_error());
echo "<p><strong>".$naam." is als je vriend toegevoegd!</strong><br />
<a href='http://www.mybuddies.nl/ingelogd.php'>Klik hier om terug te gaan naar de hoofdpagina</a></p>";
?>
Gewijzigd op 29/11/2011 16:41:32 door Remco van Akker
Echo eens: $query8
Even een paar kritiek puntjes: (of misschien beter gezegd tips)
http://php.net/manual/en/function.mysql-real-escape-string.php
Vertrouw NOOIT de gebruiker, controleer altijd wat de gebruiker invoerd.
En waarom werk je niet consequent met ID's? Maakt het vaak een stuk makkelijker.
En die() is geen foutafhandeling, als er iets fout gaat knalt ie er nu gewoon uit en dat wil je toch niet?
En als je zegt dat er een rij in de tabel vrienden kan komen met leeg + <een id> dan heb je ook nog geen index gezet (een unique over beide velden) dan kan er ook geen rommel in de database komen.
('".$row4['lid_id']."', '".$row5['lid_id']."')
Getallen als een string invoeren kan ik ook niet echt aanraden ;)
En nu to the point, je zou eens kunnen kijken wat er uit die $row4 komt, print_r($row4) nadat je hem ophaalt, misschien is er wel geen resultaat uit die query ;) (goede foutafhandeling lost zoiets op)
http://php.net/manual/en/function.mysql-real-escape-string.php
Vertrouw NOOIT de gebruiker, controleer altijd wat de gebruiker invoerd.
En waarom werk je niet consequent met ID's? Maakt het vaak een stuk makkelijker.
En die() is geen foutafhandeling, als er iets fout gaat knalt ie er nu gewoon uit en dat wil je toch niet?
En als je zegt dat er een rij in de tabel vrienden kan komen met leeg + <een id> dan heb je ook nog geen index gezet (een unique over beide velden) dan kan er ook geen rommel in de database komen.
('".$row4['lid_id']."', '".$row5['lid_id']."')
Getallen als een string invoeren kan ik ook niet echt aanraden ;)
En nu to the point, je zou eens kunnen kijken wat er uit die $row4 komt, print_r($row4) nadat je hem ophaalt, misschien is er wel geen resultaat uit die query ;) (goede foutafhandeling lost zoiets op)
Gewijzigd op 29/11/2011 16:57:46 door Jelle -
Mist session_start();
Denk aan SQL-Injection bij de $_GET.
Denk aan SQL-Injection bij de $_GET.
Ja ik zou later de mysql_real_escape_string invoeren.
Ook de strip_tags.
Heel erg bedankt voor jullie reacties!
Ik ga het even opnieuw testen.
Ook de strip_tags.
Heel erg bedankt voor jullie reacties!
Ik ga het even opnieuw testen.
Waarom niet direct? Straks is het al te laat?
Toevoeging op 29/11/2011 18:02:12:
Waarom niet direct? Straks is het al te laat?
Toevoeging op 29/11/2011 18:02:12:
Waarom niet direct? Straks is het al te laat?
Ik bedoel dat ik het nu invoer.
Omdat ik er nu mee bezig ben.
En zo net nog niet..
Toevoeging op 29/11/2011 18:33:46:
Probleem is opgelost!
Iedereen bedankt!
Omdat ik er nu mee bezig ben.
En zo net nog niet..
Toevoeging op 29/11/2011 18:33:46:
Probleem is opgelost!
Iedereen bedankt!




