Vrienden systeem probleem
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
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 -
Denk aan SQL-Injection bij de $_GET.
Ook de strip_tags.
Heel erg bedankt voor jullie reacties!
Ik ga het even opnieuw testen.
Toevoeging op 29/11/2011 18:02:12:
Waarom niet direct? Straks is het al te laat?
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!