ну ето уже не относится к php ето больше к джаваскрипт, функция javascript:window.open ТУТ возник такой вопрос, нужно авторизоватся на форум IPB и создать тему пост данные выглядят так PHP: <input type='hidden' name='act' value='Post' /> <input type='hidden' name='s' value='' /> <input type='hidden' name='f' value='201' /> <input type='hidden' name='auth_key' value='0b636b48819787da8b5fa48c2c27185b' /> <input type='hidden' name='removeattachid' value='0' /> <input type='hidden' name='MAX_FILE_SIZE' value='102400000' /> <input type='hidden' name='CODE' value='01' /> <input type='hidden' name='attach_post_key' value='44a6b7fccccb10d1b2017bab32464721' /> етот ключ PHP: <input type='hidden' name='attach_post_key' value='44a6b7fccccb10d1b2017bab32464721' /> меняется при каждом отерытии формы отправки, вопрос как отправить пост запрос, вот мой код PHP: $cur=curl_init(); curl_setopt($cur, CURLOPT_URL, 'http://site.ru/index.php?act=Login&CODE=01&CookieDate=1'); curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10"); curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt'); curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt'); curl_setopt($cur,CURLOPT_RETURNTRANSFER,1); curl_setopt($cur, CURLOPT_POST, 1); curl_setopt($cur, CURLOPT_POSTFIELDS, "referer=$refer&UserName=login&PassWord=pass&CookieDate=1&Privacy=1"); curl_exec($cur); curl_close($cur); $cur=curl_init(); curl_setopt($cur, CURLOPT_URL, 'http://site.ru/index.php?act=post&do=new_post&f=201'); curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10"); curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt'); curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt'); curl_setopt($cur,CURLOPT_RETURNTRANSFER,1); $doc = curl_exec($cur); curl_close($cur); preg_match("/<input type=\'hidden\' name=\'attach_post_key\'(.*?)\/>/",$doc, $aa); preg_match("/[a-zA-Z0-9]{10,100}/",$aa[0], $bb); $cur=curl_init(); curl_setopt($cur, CURLOPT_URL,'http://site.ru/index.php?' ); curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10"); curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt'); curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt'); curl_setopt($cur,CURLOPT_RETURNTRANSFER,1); curl_setopt($cur, CURLOPT_POST, 1); curl_setopt($cur, CURLOPT_POSTFIELDS, "act=Post&f=201&auth_key=47442e6ac2fd23311b01a0db9ed438b1&removeattachid=0&MAX_FILE_SIZE=102400000&CODE=01&attach_post_key=$bb[0]&TopicTitle=$theme&TopicDesc=0&Post=$mypost"); curl_exec($cur); curl_close($cur); но такой вариант естественно неподходит, как быть? помогите исправить код штобы он работал плыз никто непоможет?
qaz LiveHTTPHeaders в руки и копируйте запрос. И откройте для себя мир процедурного программирования, не лень было копировать строчки, плюс, возможно, вы там родили опечатку
а зачем мне копировать запрос? я и так знаю што там должно передаватся, раньше всё работало пока ту переменную PHP: <input type='hidden' name='attach_post_key' value='44a6b7fccccb10d1b2017bab32464721' /> не сделали динамической при каждой отправке формы, у меня вопрос в другом, я незнаю как одним сиансом курла можно и спарсить нужную страницу+ключ и отправить пост запрос
qaz, ковыряйте строки с preg_match(). И обращение к элементу массива в двойных кавычках у вас неверный
спарсить то что надо я смогу, в этом проблемы нету, как мне составить курл чтоб одновременно я мог и спарсить нужный код с одной страницы и сразуже отправить етот код пост запроом на другой урл?
qaz В самом последнем CURLOPT_POSTFIELDS сделать таким: PHP: curl_setopt($cur, CURLOPT_POSTFIELDS, "act=Post&f=201&auth_key=".$bb[0]."&removeattachid=0&MAX_FILE_SIZE=102400000&CODE=01&attach_post_key=$bb[0]&TopicTitle=$theme&TopicDesc=0&Post=$mypost"); Знаете, вы очень смущаете своими постами, то для вас 'нет проблемы' и 'просто', то спрашиваете несколько тривиальные вещи, которые непонятно почему у вас вызывают затык. Вы не пробовали быть несколько более последовательным в изучении языка?
1)чесно говоря я толком его неучл, начал учит с онлаин учебников, дальше так и не углублялся, мне надо было штото сделать, яспросил, мне сказали какая функция я пошоло почитал изучитл, и тд. вот такое моё обучение 2)Я так понял вы немного непоняли что меня смущает, штоб создать тему на форуме нужно естетственно открыть форму отправки сообщения в етой формк есть ключ PHP: <input type='hidden' name='attach_post_key' value='44a6b7fccccb10d1b2017bab32464721' /> который постоянно меняется при кождом открытии формы отправки, тоесть как капча естественно штоб создать тему мне нужно с остальными данными отправить и етот ключ но, PHP: $cur=curl_init(); curl_setopt($cur, CURLOPT_URL, 'http://site.ru/index.php?act=post&do=new_post&f=201'); curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10"); curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt'); curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt'); curl_setopt($cur,CURLOPT_RETURNTRANSFER,1); $doc = curl_exec($cur); curl_close($cur); preg_match("/<input type=\'hidden\' name=\'attach_post_key\'(.*?)\/>/",$doc, $aa); preg_match("/[a-zA-Z0-9]{10,100}/",$aa[0], $bb); тут я взял ключ но для етого курла уже код будет другим PHP: $cur=curl_init(); curl_setopt($cur, CURLOPT_URL,'http://site.ru/index.php?' ); curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10"); curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt'); curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt'); curl_setopt($cur,CURLOPT_RETURNTRANSFER,1); curl_setopt($cur, CURLOPT_POST, 1); curl_setopt($cur, CURLOPT_POSTFIELDS, "act=Post&f=201&auth_key=47442e6ac2fd23311b01a0db9ed438b1&removeattachid=0&MAX_FILE_SIZE=102400000&CODE=01&attach_post_key=$bb[0]&TopicTitle=$theme&TopicDesc=0&Post=$mypost"); curl_exec($cur); curl_close($cur); как их обьеденить??
Можно ли добавлять из html формы изображение в БД Mysql? Пишут вот такой скрипт PHP: <html> <head>Загрузка файлов на сервер</head> <body> <form enctype="multipart/form-data" action="" method="post"> <input type="file" name="image"/> <input type="submit" value="Загрузить"/> </form> <?php include "mysql.php"; $image=$_POST['image']; $insert="INSERT INTO image(image) VALUES('$image')"; $result=mysql_query($insert); ?> </body> </html> Но в базу данных добавляется пустая строка. В БД нельзя хранить файлы???
Feksess Файл хранится в массиве $_FILES: $_FILES["myfile"]["tmp_name"] - Имя временного файла $_FILES["myfile"]["name"] - Имя файла на компьютере пользователя $_FILES["myfile"]["size"] - Размер файла в байтах $_FILES["myfile"]["type"] - MIME-тип файла $_FILES["myfile"]["error"] - код ошибки.
qaz, так ведь значение поля name='auth_key' тоже ведь изменяющееся, а в CURLOPT_POSTFIELDS вставлено вот это значение auth_key=47442e6ac2fd23311b01a0db9ed438b1
$reg[1]="Значение1"; $reg[2]="Значение2"; $reg[3]="Значение3"; $reg[4]="Значение4"; $reg[5]="Значение5" выше массив reg из 5 элентов каждому элементу соответствует свое значение , как сделать форму с чекбоксом , что в чекбоксе можно было бы выбрать элементы массива а на против отображалось значение этого элемента ?
w1spo ? PHP: <?php $reg[1]="Значение1"; $reg[2]="Значение2"; $reg[3]="Значение3"; $reg[4]="Значение4"; $reg[5]="Значение5"; echo "<form method='POST' action='tosomescript.php'>"; for ($i=1; $i<=count($reg); $i++) echo "<p><input type='checkbox' name='check$i' value=".$reg[$i]."> ".$reg[$i]."</p>"; echo "<input type='submit' value='GO'></form>"; ?>
mr. Brain----- я только что начил научит фейк. и я решил сделат это для майл ру. Я создал фейк, в этот фейке 3 файл index.html ну база с пхп и я их заволил в хост (http://msmurik.hut2.ru/) ну в общем не получаеца ката а с этом хостам можна работат когда вводиш дание он показвает этот ошибку: Parse error: parse error, unexpected T_STRING in /home/m/msmurik.hut2.ru/WWW/mail.php on line 2 что сделат та подскажите пожалуюста ужасно жду ответа
readdir возвращает string http://docs.php.net/manual/en/function.readdir.php пример из мануала: PHP: <?php if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { echo "$file\n"; } } closedir($handle); } ?>
Спасибо, теперь понял, почему не работает. Скажите пожалуйста, а как при помощи цикла while не выводить два первых элемента? То есть, когда readdir возвращает "." и "..", то их выводить не нужно. Вот мой код: Там выводятся картинки. Все работает, но нужно убрать два первых значения, которые возвращает readdir.
Сделал всё как написано в статье по вашей ссылке. Но теперь в БД вообще ничего не добавляется. Ошибок никаких не выводит. Там написано что тип поля должен быть MEDIUMBLOB. А id тоже MEDIUMBLOB? И вообще я не пойму зачем поле id делать? Мы же вроде добавляем в таблицу только $image, а $id нет.