У меня такая проблема :
При формировании хэша не происходит выбор данных из таблицы, в ходе этого хэш генерируется не из данных таблицы, а из переменных, которые должны заменяться информацией из таблицы. Вот собственно и сам код :
if ($_POST["generator"] == 'VASYA') {
$genik=@mysql_fetch_array(@mysql_query("select * from table1 WHERE pipka=$POST[pipka] && lr_encrypted!='' limit 1"));
$bz1 = $genik['field1'];
$bz2 = $genik['field2'];
$bz3 = $genik['field3'];
$bz4 = $genik['field4'];
$bz5 = $genik['pipka'];
$bz6 = $genik['field5'];
$bz7 = $genik['field6'];
$bz8 = $genik['field7'];
$bz9 = $genik['field8'];
$bz10 = $genik['field9'];
$bz11 = $genik['field10'];
$bz12 = $genik['field11'];
$generator = "VasyaPupkin";
$fraza = $bz1.":".$bz2.":".$bz3.":".$bz4.":".$bz5.":".$bz6.":".$bz7;
include_once("sha256.class.php");
$hash = SHA256::hash($fraza);
$lr_real_hash = strtoupper($hash);
}
Должен использоваться класс
http://www.programmeur-analyste.com/includ...ha256.class.php
Огромная просьба - подскажите пожалуйста где ошибка ?
Спустя 11 часов, 13 минут, 59 секунд (9.10.2007 - 09:49) vasa_c написал(а):
Убрать к чертям "@" и не спрашивать больше где ошибка.
Почитать документацию по поводу вставки переменных непосредственно в строку.
Не приходят данные из MySQL, разбирайтесь с sql-запросом.
Делайте так:
$sql = "select * from table1 WHERE pipka=$POST[pipka] && lr_encrypted!='' limit 1";
mysql_query($sql) or die(mysql_error());
Вышла ошибка — сделайте print $sql и подумайте, все ли там так, как хотели вы.
По поводу вставки напрямую пришедших от пользователя данных читайте http://phpfaq.ru/slashes
По поводу поиска ошибок http://phpfaq.ru/debug
Почитать документацию по поводу вставки переменных непосредственно в строку.
Не приходят данные из MySQL, разбирайтесь с sql-запросом.
Делайте так:
$sql = "select * from table1 WHERE pipka=$POST[pipka] && lr_encrypted!='' limit 1";
mysql_query($sql) or die(mysql_error());
Вышла ошибка — сделайте print $sql и подумайте, все ли там так, как хотели вы.
По поводу вставки напрямую пришедших от пользователя данных читайте http://phpfaq.ru/slashes
По поводу поиска ошибок http://phpfaq.ru/debug
Спустя 1 месяц, 7 дней, 11 часов, 6 минут, 2 секунды (16.11.2007 - 21:55) Bahjahkah написал(а):
LamerPHP - НИКОГДА не заносите данные из $_POST сразу в sql запрос без предварительной проверки. Сколько из-за невнимательности людей погорело.
Во-первых, где апострофы, окаймляющие $_POST[pipka] внутри sql запроса, ведь если в переменной $_POST['pipka'] будут пробелы, то ваш запрос полетит.
Во-вторых, не $POST, а $_POST.
В-третьих, ... какой-то корявый sql запрос. Попробуй то, что ниже.
Вот (те вещи, на которые вам нужно обратить внимание, я выделил жирным):
"SELECT * FROM table1 WHERE pipka='" . $_POST['pipka'] . "' AND lr_encrypted NOT LIKE 'limit 1'"
Код
$genik=@mysql_fetch_array(@mysql_query("select * from table1 WHERE pipka=$POST[pipka] && lr_encrypted!='' limit 1"));
Во-первых, где апострофы, окаймляющие $_POST[pipka] внутри sql запроса, ведь если в переменной $_POST['pipka'] будут пробелы, то ваш запрос полетит.
Во-вторых, не $POST, а $_POST.
В-третьих, ... какой-то корявый sql запрос. Попробуй то, что ниже.
Вот (те вещи, на которые вам нужно обратить внимание, я выделил жирным):
"SELECT * FROM table1 WHERE pipka='" . $_POST['pipka'] . "' AND lr_encrypted NOT LIKE 'limit 1'"
Спустя 24 дня, 19 часов, 48 минут, 16 секунд (11.12.2007 - 17:44) Migor написал(а):
спасибо за совет, а я уже это искал дня два...)