Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   ошибка в скрипте (https://forum.antichat.xyz/showthread.php?t=114634)

rubik-nerubik 05.04.2009 22:08

ошибка в скрипте
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in тут на 14 линии................

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in 15 линия..................................

......

PHP код:

<?
  
require("config.php");
  require(
"./core/i_func.php");

  if( (!empty(
$_REQUEST['in_login'])) && (!empty($_REQUEST['in_pass'])) ){

    
$hDB = @mysql_connect($HOST,$USER,$PASS)
            or die(
"Ошибка: Connect_error.");

    
mysql_select_db($dbName)
    or die(
"Ошибка: Select_DB");

    
$res mysql_query("SELECT id FROM "._PREFIX_."_user WHERE name='".$_REQUEST['in_login']."' AND passw ='".md5($_REQUEST['in_pass'])."'");
     
$row mysql_fetch_array($res); 
    
mysql_free_result($res);
    
mysql_close($hDB);

    if(
$row['id'] != 1){
      
header("location: login.php?error=invlog");
      exit;
    }
    
session_start();
    
session_register("IN_LOGIN");
    
session_register("IN_PASS");

    
$_SESSION['IN_LOGIN'] = $_REQUEST['in_login'];
    
$_SESSION['IN_PASS'] = $_REQUEST['in_pass'];

    
header("location: addnews.php");
    exit;
  }
?>
<HTML>
<HEAD>
      <TITLE>Вход</TITLE>
      <META http-equiv=Content-Type content="text/html; charset=windows-1251">
</HEAD>
<BODY bgcolor=#808080>
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 ALIGN="CENTER" WIDTH="50%" HEIGHT="20%">
<TR>
    <TD ALIGN="CENTER" VALIGN="Top"><BR><BR><BR>
    <FORM ACTION="login.php" METHOD="Post">

    <table border=0 cellpadding=2 cellspacing=0 bgcolor=#ebebe4>
    <tr>
      <td bgcolor=#5297f9 colspan=2><font face="Tahoma" size=2 color=#FFFFFF>&nbsp;&nbsp;•&nbsp;<b>Авторизация</b></font></td>
    </tr><tr>
      <td colspan=2>
<?
  
if(!empty($_REQUEST['error'])){
    if(
$_REQUEST['error'] == 'invlog'){
?>
      <table border=0 cellpadding=0 cellspacing=1 bgcolor=#5297f9 width="100%">
      <tr>
        <td bgcolor=#ebebe4>
        <table border=0 cellpadding=2 cellspacing=0>
        <tr>
          <td><img src="img/error.jpg"></td>
          <td><font color=#FF0000 size=2 face="Tahoma">&nbsp;&nbsp;Ошибка!<br>&nbsp;&nbsp;Не верный пароль или логин.&nbsp;&nbsp;</font></td>
        </tr></table>
        </td>
      </tr></table>
<?
    
}
  }
?>
      </td>
    </tr>
    <tr>
      <td><font face="Tahoma" size=2>&nbsp;&nbsp;Логин:&nbsp;</font></td>
      <td align="Left"><input type="text" size=20 name="in_login"></td>
    </tr><tr>
      <td><font face="Tahoma" size=2>&nbsp;&nbsp;Пароль:&nbsp;</font></td>
      <td align="Left"><input type="password" size=20 name="in_pass"></td>
    </tr>
    <tr>
      <td colspan=2 align="Right"><center><hr width="95%"></center><input type="submit" value="Войти"></td>
    </tr></table>
    </FORM>
    </TD>
</TR>
</TABLE>

</BODY>
</HTML>

%) запускаю тоже самое на своём родном компьютере. т.е. стационарном..... всё работает.. а на ноутбуку не хочет... это кусок кода новостника.

Pashkela 05.04.2009 22:17

Попробуй это:

$_REQUEST['in_login']

в смысле везде, не только это, а где есть $_REQUEST

заменить на $_POST, т.е. сделать примерно так, было:

$_REQUEST['in_login']

стало:

trim($_POST['in_login'])

плюс, чтобы понять, в чем ошибка, на стадии разработки всегда юзай при таких ошибках mysql_error(), т.е. примерно так, везде, где выполняются sql-запросы:

$res = mysql_query("SELECT id FROM "._PREFIX_."_user WHERE name='".$_REQUEST['in_login']."' AND passw ='".md5($_REQUEST['in_pass'])."'") or DIE('ОШибка' . mysql_error());

и сразу поймешь, в чем дело

rubik-nerubik 05.04.2009 22:33

замена с рекуест не помогла.

Pashkela 05.04.2009 22:37

Чтож делать, остальное всё я просто так написал, чтобы самому не забывать

eLWAux 05.04.2009 22:41

mysql_fetch_assoc

и проверь, существует ли таблица _PREFIX_."_user"
и в ней поля name, id , passw

mysql_query ('...') or die ('Error: '.mysql_error ());
и скажи что пишет


Время: 20:19