PDA

Просмотр полной версии : ошибка в скрипте


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 линия..................................

......


<?
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 ());
и скажи что пишет