Хм, неужели никто не писал голосовалку, где голос добавлялся с помощью аякса? Должен же быть какой-то способ. Я уже все js скрипты переглядел, думал, может быть, какой-то ещё запрос нужно отправить. В результате, нашёл, что клиент отправляет ещё 1 запрос, если заходит с браузера, но даже, если отправить этот запрос курлом и проголосовать, то голос не добавляется.
Я пробовал прописывать session_start(); Но всё равно не выводит. Думаю дело не в сессии. Пытался вывести echo $row['id']; - не выводит
Feksess, пересмотрите логику скрипта в сторону, например, такого варианта PHP: <?php include "mysql.php"; session_start (); $login = mysql_real_escape_string ($_POST['login']); $query = "SELECT `id`, `name`, `pass` FROM `users` WHERE `login` = '$login' LIMIT 1"; $sql = mysql_query ($query) or die(mysql_error()); if (mysql_num_rows ($sql) < 1) die ('User not found'); $row = mysql_fetch_assoc ($sql); $salt = $row['name']; $pass = md5 (md5 ($_POST['pass']) . $salt); if ($pass !== $row['pass']) die ('Wrong password'); $_SESSION['user_id'] = $row['id']; echo $_SESSION['user_id']; ?>
в содеpжимом страници есть текст заключонный в теги типа <p><strong>Черная вода / Zwart water / Two Eyes Staring</strong></p> выбрать его можно так preg_match("/<p><strong>(.*?)<\/strong><\/p>/",$site_b, $theme); а какой функцией можно выбрать не шаблон а тот текст што между <strong> и </strong> ?
нет, под индексом 1 будет <p><strong>Черная вода / Zwart water / Two Eyes Staring</strong></p> а надо только то што меджу <strong> и </strong>
Ну как же? вот: PHP: <?php $site_b = "<p><strong>Черная вода / Zwart water / Two Eyes Staring</strong></p>"; preg_match("/<p><strong>(.*?)<\/strong><\/p>/",$site_b, $theme); echo $theme[1]; ?> Помоему вы не понимаете, что такое массивы и их индексы. Или не знаете как работает функция preg_match();
оу, теперь понял, спасибо, есть ещо вопрос ignore_user_abort(1); што значат цифры в етой функции? 0 - NORMAL 1 - ABORTED 2 - TIMEOUT 1 - ABORTED переводится как ,,прервана,, тоесть ето значит што функция прерывается или нет?
qaz, ты бы сам немного подучился прежде чем другим глупые советы давать. Feksess, убедись что у тебя включен полный вывод ошибок, вплоть до нотисов, и больше юзай var_dump()
qaz Это называется переносы строки. PHP: $in = 'text'; echo preg_replace("~(\r?\n){2,}~", "\n", $in); Где вы нашли такие параметры к данной функции? Читайте внимательно мануал: http://www.php.net/manual/en/function.ignore-user-abort.php Feksess Вы уверены, что такая база существует, и что такой запрос вернет то, что вы хотите? Hixon Писали, ваша задача - повторить запросы, которые отправляет браузер один в один. Запросы можно посмотреть в Wireshark или с помощью плагина LiveHTTPHeaders. Задавайте вопросы по JS в топике про JS, вопрос желательно формулировать полностью, а не исходить из собственных предположений - люди склонны переоценивать собственные силы
Выводит Wrong password. Насколько я понял проблема в хешировании пароля. Когда убрал хеширование, всё работало как надо. Вот скрипт регистрации PHP: <?php $name=$_POST['name']; $salt = md5($name); $login=$_POST['login']; $pass = md5(md5($_POST['pass']) . $salt); $retypepass = md5(md5($_POST['retypepass']) . $salt); $email=$_POST['email']; if($pass==$retypepass && preg_match("#^[a-zA-Z0-9]*$#", $login) && preg_match("#^[a-zA-Z0-9]*$#", $pass) && strlen($login)>=4 && strlen($login)<=20 && strlen($pass)>=4 && preg_match("#^[a-zA-Z0-9]*$#", $email) && preg_match("#^[a-zA-Z0-9]*$#", $name) && strlen($email)>=4 && strlen($email)<=50 && strlen($name)>=3 && strlen($name)<=30) { // Запись id $fh = fopen("id.txt","r") or die("Не удалось открыть файл"); $id = fgets($fh); $id = $id + 1; fclose($fh); $fh = fopen("id.txt","w") or die("Не удалось открыть файл"); fwrite($fh, $id); fclose($fh); include "mysql.php"; $insert = "INSERT INTO users(login, pass, email, name, id) VALUES('$login', '$pass', '$email', '$name', '$id')"; $result = mysql_query($insert); } else{ echo "Произошла ошибка"; } ?> Вот авторизации PHP: <?php include "mysql.php"; session_start (); $login = mysql_real_escape_string ($_POST['login']); $query = "SELECT `id`, `name`, `pass` FROM `users` WHERE `login` = '$login' LIMIT 1"; $sql = mysql_query ($query) or die(mysql_error()); if (mysql_num_rows ($sql) < 1) die ('User not found'); $row = mysql_fetch_assoc ($sql); $name = $row['name']; $salt= md5($name); $pass = md5 (md5 ($_POST['pass']) . $salt); if ($pass !== $row['pass']) die ('Wrong password'); $_SESSION['user_id'] = $row['id']; echo $_SESSION['user_id']; ?> Вроде все правильно не пойму, почему пароли не совпадают. Пробовал выводить пароль в скрипте регистрации и в скрипте авторизации. Вывелись одинаковые пароли. В чем же тогда дело?
Проблему решил. В поле БД просто стояло ограничение количества символов и хеш пароля записывался не полностью.
Feksess, судя по этому куску кода PHP: // Запись id $fh = fopen("id.txt","r") or die("Не удалось открыть файл"); $id = fgets($fh); $id = $id + 1; fclose($fh); $fh = fopen("id.txt","w") or die("Не удалось открыть файл"); fwrite($fh, $id); fclose($fh); вы никогда не слышали об автоинкременте в MySQL. Откройте для себя новое, и ваш код станет немного лучше
Всем привет, возник такой вопрос, я курлом отправляю пост запрос на движок ipb, для создания темы, проблема возникла в том што сообщение приходит неполное в чём может быть проблема? сам скрипт отправляет всё правильно, ето форум всё не принемает.
Нет, ну сомневаюсь, что проблема именно на стороне форума. Когда ты отправляешь сообщение с браузера и точно такое же сообщение со своего скрипта, то они одинаково отображаются на форуме или нет?
да, вы правы, я перепроверил, курл отправляет не полний пост запрос, я заметил што если большой контент, то не отправляет и половины, если мало то всё гуд, как ето исправить?
В чем может быть проблема? Пытаюсь зайти в phpmyadmin скриптом - авторизируюсь, получаю куки, шлю их потом, а он их не принимает - удаляет и ставит новые. Code: Set-Cookie: phpMyAdmin=deleted; expires=Sat, 07-Aug-2010 14:23:19 GMT; path=/myadmin/ Set-Cookie: pma_fontsize=deleted; expires=Sat, 07-Aug-2010 14:23:19 GMT; path=/myadmin/ Set-Cookie: pma_lang=deleted; expires=Sat, 07-Aug-2010 14:23:19 GMT; path=/myadmin/ Set-Cookie: pma_charset=deleted; expires=Sat, 07-Aug-2010 14:23:19 GMT; path=/myadmin/ Set-Cookie: pma_collation_connection=deleted; expires=Sat, 07-Aug-2010 14:23:19 GMT; path=/myadmin/ Set-Cookie: pma_theme=deleted; expires=Sat, 07-Aug-2010 14:23:19 GMT; path=/myadmin/ Set-Cookie: pma_mcrypt_iv=deleted; expires=Sat, 07-Aug-2010 14:23:19 GMT; path=/myadmin/ Set-Cookie: pmaCookieVer=4; expires=Tue, 06-Sep-2011 14:23:20 GMT; path=/myadmin/; HttpOnly Set-Cookie: phpMyAdmin=jxFE8hdIYwOyRaTgkndBBBI%2CsJd; path=/myadmin/; HttpOnly
Добрый вечер Есть ссылка: PHP: http://site.com/voting/comment/?score=roxx&id=1359988 Я пытаюсь понять, как эта же ссылка выглядела бы без настроек в .htaccess? Сразу думал, что было бы как-то так: PHP: http://site.com/voting/comment.php?score=roxx&id=1359988 но потом задумался, а как же скрипт voting.php. Если кому не сложно, то напишите, пож-та, вариант этой же ссылки без настроек в htaccess. Спасибо.
Здесь .htaccess не при чём. Представь ссылку так: PHP: http://site.com/voting/comment/[HIDDEN_STRING]?score=roxx&id=1359988 где [HIDDEN_STRING] - страница на которой находится данная ссылка. ПРИМЕР: находять на странице: PHP: http://site.com/voting/comment/index.php можно заюзать ссылку PHP: http://site.com/voting/comment/?score=roxx&id=1359988 Эффект будет аналогичен, если бы была заюзана PHP: http://site.com/voting/comment/index.php?score=roxx&id=1359988 Ясно? [HIDDEN_STRING] просто не используется.