login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Random werkt niet goed...

Offline Gamezhoek - 15/04/2006 13:12 (laatste wijziging 15/04/2006 13:13)
Avatar van GamezhoekHTML interesse Ik heb een website waar mensen hun eigen website kunnen promoten.
Ik heb daarvoor ook een uitnodigingen systeem gemaakt, maar om te voorkomen dat je je eigen uitnodigingen weer ontvangt gebruik ik dit script:
  1. <?php
  2. $aantal1 = mysql_query("SELECT id FROM users");
  3. $aantal2 = mysql_num_rows($aantal1);
  4. $aantal3 = rand(1, $_SESSION['login']-1);
  5. $aantal4 = rand($_SESSOIN['login']+1, $aantal2);
  6.  
  7. $touser = rand(1, 2);
  8.  
  9. if($touser==1)
  10. {
  11. //Verstuur
  12. $verzenden = mysql_query("INSERT INTO `visit` (`user_from`,`user_to`,`website`) VALUES ('".$_SESSION['login']."', '".$aantal3."', 'http://".$website."')");
  13. }
  14. else
  15. {
  16. //Verstuur
  17. $verzenden = mysql_query("INSERT INTO `visit` (`user_from`,`user_to`,`website`) VALUES ('".$_SESSION['login']."', '".$aantal4."', 'http://".$website."')");
  18. }
  19. ?>

$website is $_POST['website'] van de vorige pagina.
En $_SESSION['login'] is het ID nummer waar je mee bent ingelogd.
En iedereen in de database heeft dat id nummer, dus daarom heb ik zo dit script gemaakt.

Zoals je ziet is $aantal3 voor alle mensen met een lager ID numemr dan jou, en $aantal4 met een hoger id nummer dan jou.
Dus zo probeer ik te doen dat je nooit je eigen uitnodigingen ontvangt.
Maar het probleem is dat je ze nu nog steeds soms zelf ontvangt. Wat ik liever niet heb.

Waarom werkt dit script niet? Ik krijg geen errors, maar het probleem is gewoon dat ik nog steeds mijn eigen uitnodigingen ontvant...

3 antwoorden

Gesponsorde links
Offline bambino - 15/04/2006 14:04 (laatste wijziging 15/04/2006 14:04)
Avatar van bambino HTML interesse Ik weet niet waarom dat niet werkt, maar ik zou het zo doen :

  1. <?php
  2. $result = mysql_query("SELECT id FROM users") ;
  3.  
  4. while ($data = mysql_fetch_row($result)) {
  5. if ($data['id'] != $_SESSION['login']) {
  6. $verzenden = mysql_query("INSERT INTO `visit` (`user_from`,`user_to`,`website`) VALUES ('".$_SESSION['login']."', '".$data['id']."', 'http://".$website."')");
  7. }
  8.  
  9. }


die website moet je dan daarvoor nog wel even plaatsen, zo zit je tenminsten niet met al die rand dingen ;)
Offline Gamezhoek - 15/04/2006 14:16
Avatar van Gamezhoek HTML interesse Dit is inderdaad veel beter... Dankjewel!
Offline ikkedikke - 15/04/2006 14:28
Avatar van ikkedikke PHP expert zo krijgt de eerste hem eigenlijk altijd toch?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.186s