Бан пользователей

shadow999

Новичок
Бан пользователей

Подскажите пожалуйста, ставил этот скрипт на локалке всё работает! Когда заливаю его на хостинг появляются проблемы.... В виде того что, вводя абсолютную чушь он не пишет что пользователя не существует, а блокирует фиг знает кого!

PHP:
<?php
....
if($do == 'add_ban')

	{
?>
	<table class="td" style="width: 345px;">

	<form method="post" name="form">

<tr><td><span style="font-size: 8pt;"><b><span style="color: rgb(47, 47, 47); font-size: 8pt;">Введите ник :</span></b></span></td></tr><tr><td><input type="text" name="us" maxlength="15" /></td></tr>
<tr><td><input type="submit" title="Дать бан" name="add" value="Дать бан" style="font-size:8pt; background: #726000;color:#ffffff;border:1px outset #726257;"/></td></tr>
	</form>

	</table>
<? 
	if($_POST['add'])

	{

		if (!get_magic_quotes_gpc())

		{

	 		$_POST['us'] = mysql_escape_string($_POST['us']);

	        }



	if(empty($_POST['us']))

	exit("Поле должно быть заполнено");
        $Us = $_POST['us'];

        $query = "SELECT * FROM users WHERE name = '$Us'";

        $result = mysql_query($query);
	$row = mysql_fetch_array($result);
	if(!$result)	exit("Ошибка - ".mysql_error());


if($row['BLOCK'] == NULL)
         {

		$query = "UPDATE users SET BLOCK='1' WHERE name='$Us'";
                $result = mysql_query($query);

		
if($result)

		{

print('<script>alert("Пользователь был заблокирован");</script>');

print('<script>location.href="administration.php"</script>');

		} else {

print('<script>alert("Такого пользователя не существует");</script>');

		}
          }else{
print('<script>alert("Этот пользователь уже является заблокированным");</script>');
}

          }
      
}
?>
 

shadow999

Новичок
У меня нету ошибок... Просто я не могу понять почему на локалке всё нормально, а на хосте всё НЕ нормально!
 

Wicked

Новичок
Просто я не могу понять почему на локалке всё нормально, а на хосте всё НЕ нормально!
Это и есть ошибка.

А ссылка, которую я тебе дал, поможет тебе самому понять, почему происходит то, что происходит.
 

SiMM

Новичок
> У меня нету ошибок...
Раз ошибок нет - непонятен смысл создания темы.

> я не могу понять почему на локалке всё нормально, а на хосте всё НЕ нормально
Вот и выполняйте указания по ссылке, чтобы разобраться.
 

shadow999

Новичок
Так... Начинаю разбираться!.. Выскакивает ошибка типа: Notice: Undefined index...
Я понимаю, что я не совсем правильно програмлю и передаю переменные без значений (поэтому и выскакивает).Но как их убрать? Это в настройках ПХП или Апаче?
 

Wicked

Новичок
это значит, что в массиве $_POST нету ключа 'add'.
Use var_dump(), Luke!
 

shadow999

Новичок
В общем... Ошибок больше не показывает! Но проблема всё равно осталось... Может я как то не так сделал! Посмотрите пожалуйста
PHP:
...
<?
if($do == 'add_ban')

	{
?>
	<table class="td" style="width: 345px;">

	<form method="post" name="form">

<tr><td><span style="font-size: 8pt;"><b><span style="color: rgb(47, 47, 47); font-size: 8pt;">Введите ник :</span></b></span></td></tr><tr><td><input type="text" name="us" maxlength="15" /></td></tr>
<tr><td><input type="submit" title="Дать бан" name="add" value="Дать бан" style="font-size:8pt; background: #726000;color:#ffffff;border:1px outset #726257;"/></td></tr>
	</form>

	</table>
<? 
if(isset($_POST['add']))

{

		if (!get_magic_quotes_gpc())

		{

	 		$_POST['us'] = mysql_escape_string($_POST['us']);

	        }



		if(empty($_POST['us']))

		exit("Поле должно быть заполнено");
                $Us = $_POST['us'];

        $query = "SELECT * FROM users WHERE name = '$Us'";

        $result = mysql_query($query);
	$row = mysql_fetch_array($result);
	if(!$result)	exit("Ошибка - ".mysql_error());


if($row['BLOCK'] == NULL)
     {

		$query = "UPDATE users SET BLOCK='1' WHERE name='$Us'";
                $result = mysql_query($query);



                       if($result){
                       print('<script>alert("Пользователь был заблокирован");</script>');

                       print('<script>location.href="administration.php"</script>');
                                  }
                       else{
                       print('<script>alert("Такого пользователя не существует");</script>');
                           }
     }

if($row['BLOCK'] != NULL){
print('<script>alert("Этот пользователь уже является заблокированным");</script>');
                         }
}
         }
var_dump($_POST);
?>
 

shadow999

Новичок
Автор оригинала: Mr_Max
[telepat_Mode]

Совсем ничего не показывает?
Только array(0) { } Не пойму что это значит ибо массивов у меня в скрипте нет только обработывающий из базы
$row = mysql_fetch_array($result);

Автор оригинала: Mr_Max
Мей-би
short_open_tag == 0?
php_flag short_open_tag on
Тем более не один скрипт уже написал короткими тэгами!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Только array(0) { } Не пойму что это значит ибо массивов у меня в скрипте нет
А это у тебя что за строчка?

-~{}~ 15.06.09 18:19:

$query = "UPDATE users SET BLOCK='1' WHERE name='$Us'";
$result = mysql_query($query);
if($result)
Что вернет mysql_query при выполнении запроса для несуществующего юзера?

-~{}~ 15.06.09 18:23:

Этот блок
>if($row['BLOCK'] == NULL){
будет работать
при
$query = "SELECT * FROM users WHERE name = 'этого юзера нет в БД' ";
?

-~{}~ 15.06.09 18:24:

Короче говоря.
 

shadow999

Новичок
Короче говоря.
У меня создается такое чувство, что у Вас один шаблон ответа.

Дело даже не в том, что в скрипте присутствует ошибка. Просто он был не правильно построен. И этот скрипт до банальности сам по себе очень прост. 2 оператора, очень простые действия с БД. В общем даже Я, человек, который изучает php 3-ий день смог понять СВОЮ ошибка, а не ошибку скрипта. Опережая Ваши цитаты хочу сказать что это не одно и тоже.... А смысл этого форума я так до конца не понимаю! Создал уже вторую тему и самые разумные ответы в них это от Mr_Max'a и Ф А Н А Т А спасибо ИМ большое. Вот рабочий скрипт, может кому-нибудь и понадобиться(полностью работает, дает и снимает баны).
PHP:
<? 
	$do	= isset($_GET['do']) ? $_GET['do'] : '';

if($do == 'add_ban')

	{
?>
	<table class="td" style="width: 670px;">
         <form method="post" name="form">
                <tr>

                <td background="images/interface/mainpage/title_underlines/underline.gif" style="background-repeat:repeat-x; background-position:bottom"><strong class="titleMEDIUM style6"><br /><font color="#ffffff">&nbsp;&nbsp;</font><font style="font-size:14pt;" class="style71">Забанить пользователя</font><font color="#ffffff"></font></strong>&nbsp;&nbsp;</td>
            <td width="170">&nbsp;</td>
                <div align="right">                <td background="images/interface/mainpage/title_underlines/underline.gif" style="background-repeat:repeat-x; background-position:bottom" width="253"><strong class="titleMEDIUM style6"><br /><font color="#ffffff">&nbsp;&nbsp;</font><font style="font-size:14pt;" class="style71">Снять Бан</font><font color="#ffffff"></font></strong>&nbsp;&nbsp;</td><div>



              </tr>

<tr><td><span style="font-size: 8pt;"><b><span style="color: rgb(47, 47, 47); font-size: 8pt;"><br />Введите ник :</span></b></span></td>
<td width="150">&nbsp;</td><td><span style="font-size: 8pt;"><b><span style="color: rgb(47, 47, 47); font-size: 8pt;"><br />Введите ник :</span></b></span></td></tr>
<tr><td><input type="text" name="us" maxlength="15" /></td><td width="150">&nbsp;</td><td><input type="text" name="user" maxlength="15" /></td></tr>
<tr><td><input type="submit" title="Дать бан" name="add" value="Забанить" style="font-size:8pt; background: #726000;color:#ffffff;border:1px outset #726257;"/></td><td width="150">&nbsp;</td>
<td><input type="submit" title="Снять бан" name="shoot" value="Снять бан" style="font-size:8pt; background: #726000;color:#ffffff;border:1px outset #726257;"/></td>
</tr>
	</form>

	</table>
<br><br><br><br><br><br>
<? 
if(isset($_POST['add']))

{

		if (!get_magic_quotes_gpc()) {$_POST['us'] = mysql_escape_string($_POST['us']);}



		if(empty($_POST['us']))

		exit("Поле должно быть заполнено");
                $Us = $_POST['us'];

                $query = "SELECT * FROM users WHERE name = '$Us'";

                $result = mysql_query($query);
                $row = mysql_fetch_array($result);

                if((!$row) || ($row < 1)) {print('<script>alert("Такого пользователя не существует");</script>');
                                           print('<script>location.href="administration.php"</script>');}


else{ if(!$row['BLOCK'])

               {$query = "UPDATE users SET BLOCK='1' WHERE name='$Us'";
                $result = mysql_query($query);

                       if($result)
                      {print('<script>alert("Пользователь был заблокирован");</script>');

                       print('<script>location.href="administration.php"</script>');}
                }

if($row['BLOCK']){print('<script>alert("Этот пользователь уже является заблокированным");</script>');
                  print('<script>location.href="administration.php"</script>');}
   }
}
         


else if(isset($_POST['shoot']))

{

		if (!get_magic_quotes_gpc()) {$_POST['user'] = mysql_escape_string($_POST['user']);}



		if(empty($_POST['user']))

		exit("Поле должно быть заполнено");
                $User = $_POST['user'];

                $query = "SELECT * FROM users WHERE name = '$User'";

                $result = mysql_query($query);
                $row = mysql_fetch_array($result);

                if((!$row) || ($row < 1)) {print('<script>alert("Такого пользователя не существует");</script>');
                                           print('<script>location.href="administration.php"</script>');}


else{ if($row['BLOCK'])

               {$query = "UPDATE users SET BLOCK='0' WHERE name='$User'";
                $result = mysql_query($query);

                       if($result)
                      {print('<script>alert("С пользователя был снят бан");</script>');

                       print('<script>location.href="administration.php"</script>');}
                }

if(!$row['BLOCK']){print('<script>alert("Этот пользователь не является забаненым");</script>');
                  print('<script>location.href="administration.php"</script>');}
   }
}
         }
?>
 

iceman

говнокодер
У меня создается такое чувство, что у Вас один шаблон ответа.
какой шаблон, тебе говорят отлаживай скрипт, причем здесь синтаксические ошибки? у тебя логическая ошибка, вот и проверяй каждую строчку скрипта, на ожидаемое значение...

-~{}~ 16.06.09 11:21:

и ты думаешь что твои куски кода кто-нибудь читает? можешь их не постить...
 
Сверху