login  Naam:   Wachtwoord: 
Registreer je!
 Forum

if() werkt niet mee (Opgelost)

Offline Waflix - 26/11/2011 21:29
Avatar van WaflixLid Ik heb net een pagina geschreven waarmee de gebruiker IP adressen kan verbannen. De gebruiker voert simpelweg een IP adres in en dit wordt toegevoegd aan een database. Alles wat hierna komt werkt. Alleen het controleren of het te bannen IP adres gelijk is aan het IP adres waarmee wordt geprobeerd te bannen lukt niet. Hij zegt altijd dat het ingevoerde IP adres gelijk is aan het IP adres dat dat wilt. Zelfs als ik er een if(!) van maak.

  1. $admin_ip = $_SERVER['REMOTE_ADDR'];
  2. $admin_blc_ip = $_POST['admin_blc_ip'];
  3. if(!$admin_ip == $admin_blc_ip) {
  4. // Win!
  5. echo "<span class='win'>The blacklist has succesfully been edited</span><br />";
  6. echo "<a href='index.php'>Click here to return to the Admin Panel</a>";
  7. } else {
  8. // Fail!
  9. echo "<span class='fail'>You can not (un)ban your own IP adress</span><br />
  10. <a href='javascript:history.go(-1)'>Click here to return to the previous page</a><br /><br />".$admin_ip." | ".$admin_blc_ip;
  11. }


Vreemd genoeg maakt het niet uit wat ik invul. Als het gelijk is of ongelijk, hij blijft maar uitkomen bij '// Fail!'. Zoals je kunt zien, laat ik ook even de 2 variabelen zien ($admin_ip en $admin_blc_ip, aan het einde van de code). Daar staan ook echt gelijke of ongelijke waardes samen met de foutmelding. Waarom? 

5 antwoorden

Gesponsorde links
Offline vinTage - 26/11/2011 21:37
Avatar van vinTage Nieuw lid
  1. if($_SERVER['REMOTE_ADDR'] == $_POST['admin_blc_ip']) {
  2. // Win!
  3. } else {
  4. // Fail!
  5. }


Controleer je ook wel of er gepost is ?

if(isset($_POST[...

of

if($_SERVER['REQUEST_METHOD'] == 'post')
Offline Waflix - 26/11/2011 21:42
Avatar van Waflix Lid Ja. Ik zal even de volledige code geven.
  1. <!DOCTYPE html>
  2. <?php
  3. // Connecting to database
  4. require("../connect.php");
  5. require("../config.php");
  6. $admin_ip = $_SERVER['REMOTE_ADDR'];
  7.  
  8. // Starting session, this piece of code should be at every page with restricted access
  9. // Checking if session exists and user has been active within last 15 minutes
  10. if(!isset($_SESSION) || $_SESSION['lastActive'] < time()-60*15) {
  11. // User has not, or session doesn't exist
  12. unset($_SESSION);
  13. header("Location: login.php");
  14. } else {
  15. // User has been and session exists
  16. $_SESSION['lastActive'] = time(); // Every click updates last active time
  17. }
  18. ?>
  19. <html lang="en">
  20. <head>
  21. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  22. <link rel="stylesheet" type="text/css" href="../style/main.css" />
  23. <link rel="stylesheet" type="text/css" href="../style/admin.css" />
  24. <link rel="shortcut icon" href="../favicon.ico" />
  25. <title><?php echo $config_title." | Admin"; ?></title>
  26. </head>
  27. <body>
  28. <h2>Blacklist</h2>
  29. <?php
  30. if( isset($_POST['admin_blc_subm'])) {
  31. // Simplifying variables for further use
  32. $admin_blc_ip = $_POST['admin_blc_ip'];
  33. $admin_blc_cat = $_POST['admin_blc_cat'];
  34. // Checking if everything has been filled in
  35. if(!empty($admin_blc_ip)) {
  36. if(!$admin_ip == $admin_blc_ip) {
  37. if( $admin_blc_cat == "add") {
  38. mysql_query("INSERT INTO list (ip) VALUES ('".$admin_blc_ip."')");
  39. }
  40. elseif( $admin_blc_cat == "remove") {
  41. mysql_query("DELETE FROM list WHERE ip='".$admin_blc_ip."'");
  42. } else {
  43. echo "<span class='fail'>Not everything has been filled in</span>";
  44. }
  45.  
  46. // Win!
  47. echo "<span class='win'>The blacklist has succesfully been edited</span><br />";
  48. echo "<a href='index.php'>Click here to return to the Admin Panel</a>";
  49. } else {
  50. // Fail!
  51. echo "<span class='fail'>You can not (un)ban your own IP adress</span><br />
  52. <a href='javascript:history.go(-1)'>Click here to return to the previous page</a><br /><br />".$admin_ip." | ".$admin_blc_ip;
  53. }
  54. } else {
  55. echo "<span class='fail'>Not everything has been filled in</span><br />
  56. <a href='javascript:history.go(-1)'>Click here to return to the previous page</a>";
  57. }
  58. } else {
  59. ?>
  60.  
  61. <form action="blc.php" method="POST">
  62. <span class="bold">IP-adress</span><br />
  63. <input type="text" name="admin_blc_ip" /><br />
  64. Add <input type="radio" name="admin_blc_cat" value="add" /> | <input type="radio" name="admin_blc_cat" value="remove" /> Remove<br /><br />
  65.  
  66. <input type="submit" name="admin_blc_subm" value="Submit" />
  67. </form>
  68.  
  69. <?php
  70. }
  71. ?>
  72. </body>
  73. </html>
Offline Giant - 27/11/2011 00:08 (laatste wijziging 27/11/2011 00:09)
Avatar van Giant PHP beginner
  1. if(!$admin_ip == $admin_blc_ip) {

if(NIET($admin_ip) == $admin_blc_ip)?!
Je kijkt nu dus of $admin_ip niet bestaat, en gelijk is aan $admin_blc_ip...

  1. if($admin_ip != $admin_blc_ip) {


probeer hem eens zo?
Bedankt door: Waflix
Offline RdR - 27/11/2011 00:50
Avatar van RdR PHP interesse Als je ! (isNot) gebruikt, let dan goed op dat het over het hele statement gaat dat je wilt gebruiken, en niet voor 1 variable.

  1. if(!($admin_ip == $admin_blc_ip)) {


Of gewoon ! weglaten en je content tussen de if en else omdraaien.
Offline Waflix - 27/11/2011 12:35
Avatar van Waflix Lid Dat moet het probleem zijn. Ik zal het gelijk proberen.

-even later-
Beide methodes (!= en !()) blijken te werken. Ik heb gekozen voor de tweede (die van RdR). Bedankt!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.231s