Просмотр полной версии : [php] Новичкам: задаем вопросы
Через сайт получилось так, но всё равно не заходит
user:aaAN1ZUwjW7to
Содержание .htaccess:
Options +Includes +FollowSymLinks -Indexes
AddHandler server-parsed .shtml
DirectoryIndex index.shtml index.htm index.php index.html
AddDefaultCharset windows-1251
CookieTracking on
CookieExpires "1 years"
<Files "index.php">
AuthName "Access restricted."
AuthType Basic
AuthUserFile /www/htdocs/.htpasswd
Require valid-user
</Files>
Может у меня путь кривой до файла с паролями?
Попробовал
AuthUserFile /.htpasswd
не помогло
Pashkela
24.12.2008, 13:06
кривой, путь должен абсолютный и полный, узнать можно так:
<?
@ini_set("display_errors","1");
Echo 1/0;
?>
+ здесь:
http://www.ifstudio.org/seo/crypt.php
Видимо хост запрещает этот скрипт....
Но если приписать /www/htdocs/.htpasswd (как в FTP)
То не получеатся ничего
кривой, путь должен абсолютный и полный, узнать можно так:
Вы о етом пути?
<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>
.:EnoT:.
24.12.2008, 13:26
Фаил .htpasswd я создал и занёс пароли через прогу
Но почемуто пароль не подходит...
Писал так:
C:\adenki.ru\htpasswd.exe -mc .htpasswd user
там вводил пароль :123456
В фойле получилось такое:
user:$apr1$Q/2.....$xkh4ilfOTuG4z7Ym0Jkda1
вообще данные заносятся так в htpasswd:
login1:pass1
login2:pass2
etc..
в чистом виде
И всё у тебя должно работать. И файл htpasswd совсем не обязательно хранить в той же дире что и скрипт, даже лучше вообще не хранить там.
Вы о етом пути?
<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>
Спасибо, помог
Вопрос исчерпан
в чистом виде
однажды голову ломал над этим вопросом.
помогло примерно такое
user:$apr1$Q/2.....$xkh4ilfOTuG4z7Ym0Jkda1
authorisation.php
<?php
include_once("connect.php");
if (isset($_POST['login']) && isset($_POST['password']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = md5($_POST['password']);
// делаем запрос к БД и ищем юзера с таким логином и паролем
$query = "SELECT `id`
FROM `users`
WHERE `login`='{$login}' AND `password`='{$password}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error());
// если такой пользователь нашелся то ставим об этом метку в сессии (допустим ID)
if (mysql_num_rows($sql) == 1) {
$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];
print 'Авторизировались.';
}
else {
die('Такой логин с паролем не найдены в базе данных.');
}
}
?>
Вообще не силен в пхп. Вопрос как правильно сессию передать в somefile.php и вообще на другие страницы после авторизации, чтобы получилось аля:
somefile.php
<?php
if (isset($_SESSION['user_id'])) {
// показываем защищенные от гостей данные.
print 'Привет %юзернейм%!';
}
else {
die('Ты не авторизован.');
}
?>
в начало скрипта пропиши session_start(); этим ты создашь новую сессию или откроешь существующую. а вобще лучше доку изучи http://ru2.php.net/session_start
ZirroCool
24.12.2008, 16:23
Всем здрасте есть такой вот вопрос!
Есть форма с 2 полями и кнопкой, мне нужно отправить пост запрос к скрипту также как это делает форма и получить ответ!
исходник странички с формой
</HEAD><BODY>
<!--
<form action=/accb9a90a9afaf43ad5976fedd38cbec0a3b640c8b2d5497a7 45a63d970b9e75 method="POST">
<input onclick="highlight(this);" type=text name=searchdata value="">
<input type=submit value="Искать IP\MAC">
<input type=hidden name="action" value="search">
</form>
<br>
-->
<form action=/accb9a90a9afaf43ad5976fedd38cbec0a3b640c8b2d5497a7 45a63d970b9e75 name="searchdata_mass" method="post">
<input type=hidden name="action" value="search_mass">
<textarea onclick="highlight(this);" name="searchdata_mass" rows="15" cols="100"></textarea>
<br>
Начиная с: <input type="text" value='2006-01-01 01:01:01' name='time_for_search_as_filter'>
<input type=submit value="Искать IP\MAC"></form>
<tt><table cellspacing=2 border=1></table ></tt>
</BODY></HTML>
Прочитал много инфы но так и не допер как это сделать! =(
Помогите пжалста!
забиваешь в гугл, первая ссылка http://i-vd.org.ru/books/php/forms.shtml довольно подробно все расписанно
ZirroCool
24.12.2008, 17:12
Меня не совсем правильно поняли!
Нужно чтото вроде этого только я не понимаю как передать переменные в моем случае:
<?
$url = "http://test.ru/patch/file.php?var=23&var2=54"; // это адрес, по которому скрипт передаст данные методом POST. Как видно, здесь указаны переменные, которые будут переданы через GET
$parse_url = parse_url($url); // при помощи этой функции разбиваем адрес на массив, который будет содержать хост, путь и список переменных.
$path = $parse_url["path"]; // путь до файла(/patch/file.php)
if($parse_url["query"]) // если есть список параметров
$path .= "?" . $parse_url["query"]; // добавляем к пути до файла список переменных(?var=23&var2=54)
$host= $parse_url["host"]; // тут получаем хост (test.ru)
$data = "var3=test&var4=".urlencode("еще тест"); // а вот тут создаем список переменных с параметрами. Эти данные будут переданы через POST. Все значения переменных обязательно нужно кодировать urlencode ("еще тест")
$fp = fsockopen($host, 80, $errno, $errstr, 10);
if ($fp)
{
$out = "POST ".$path." HTTP/1.1\n";
$out .= "Host: ".$host."\n";
$out .= "Referer: ".$url."/\n";
$out .= "User-Agent: Operan";
$out .= "Content-Type: application/x-www-form-urlencoded\n";
$out .= "Content-Length: ".strlen($data)."\n\n";
$out .= $data."\n\n";
fputs($fp, $out); // отправляем данные
// после отправки данных можно получить ответ сервера и прочитать информацию выданную файлом, в который отправили данные...
// читаем данные построчно и выводим их. Конечно, эти данные можно использовать по своему усмотрению.
while($gets=fgets($fp,2048))
{
print $gets;
}
fclose($fp);
}
?>
У меня есть несколько вопросов.
1.Вопшем есть один сайт,к нему скрипт должен коннектится через file_get_contents вопшем вопрос таков,как делать чтобы в скрипте были задны куки для етого сайта,и он их использовал для етого сайта,и чтобы когда с сайта возврашались новые данные в куки то они тоже начинали использоватся,толи они сохранялись бы отдельно и использовались толи времмено гдето,ето уже как удобнее будет...
2.Как когда к сайту через file_get_contents коннектитсо,и на странице есть поля с пост запросом,то при отсылке их они же отсылаются как бы в етот скрипт мой,а не на етот сайт,и на сайт никакие данные не приходят,как ето можно исправить,чтобы загружался скрипт но и данние в POST запросе отсылались на сервер??
ChaaK,ты бы хотя бы написал,к какомму ето вопросу и кому ето вопше ты написал,есле ты ето мне то думаю ко второму,так есле ты пример дал,так уже весь бы скрипт выложил бы,вот например ета строчка
"content" => $req,
етой переменной в етой части кода вопше нету,а что в ней неизвестно....
ChaaK,ты бы хотя бы написал,к какомму ето вопросу и кому ето вопше ты написал,есле ты ето мне то думаю ко второму,так есле ты пример дал,так уже весь бы скрипт выложил бы,вот например ета строчка
"content" => $req,
етой переменной в етой части кода вопше нету,а что в ней неизвестно....
http://php.ru/manual/php/html/function.stream-context-create.html
кури
В результате получится:
<?php
$opts = array(
'http'=>array(
'method'=>'POST',
'header'=>"Cookie: aaa=cookie",
'content'=>'somth_post=1234'
)
);
$context = stream_context_create($opts);
echo file_get_contents('http://127.0.0.1/index.php',0,$context);
?>
объясню:
есть массив opts с дополнительными пакетами, внутри него - http - заголовки(т.е данные передающиеся по http протоколу).
method отвечает за метод, тобишь GET/POST/HEAD etc.
header - все дополнительные заголовки разделенные между собой \r\n (10 и 13 символ ASCII кода).
content - это данные которые ты передаешь серверу, т.е post ну или любые другие. В данном случае post.
Затем, мы записываем функцией stream_context_create в переменную с ресурсом - $context, затем в параметрах file_get_contents(третий параметр) добавляем этот ресурс.
Понятно?
P.S Без знаний http-протокола нечего соваться, куда не следует. Читай мануалы/RFC
astrologer
24.12.2008, 19:22
method отвечает за метод, тобишь GET/POST/COOKIE etc. Метод COOKIE?
'header'=>"Cookie: aaa=cookie",
А вот тут можно по подробнее, Cookie: ето обязательный аргумент? и как есле нужно несколько разных значений вставить,чем розделять? Да и я писал чтобы когда сервер есче высылает новые куки то он их принемал,и начинал использовать и их...
Не обязательный это заголовок, но если тебе нужно их отправить, то без cookie не обойтись.
Формат такой:
Параметр1=значение1;парамет р2=значение2;
Ну и т.д через ";"
Регулярка для вытаскивания кук:
#Set-cookie: (.*?);#uism
А какие переменные нужно проверять и как?
На сайте нет ничего такого что пользователь вводит, у него есть доступ только к строке браузера....вот там он только может изменить переменную.
<?php
function replace_num($num )
{
$from = explode(",",$num);
$to = array("I","II","III","IV","V","VI","VII","VIII","IX");
$as = str_replace($from,$to,$from);
$ret = implode(".", $as);
return $ret;
}
$num = "1,2,3,4,5,6,7,8,9";
echo replace_num($num) ;
?>
как попроще это можна сделать?
groundhog
25.12.2008, 14:01
Оно и так достаточно просто написано... Можно лишь предложить вариацию на тему:
<?php
function replace_num ($num) {
$a = array (1 => 'I', 2 => 'II', 3 => 'III', 4 => 'IV', 5 => 'V', 6 => 'VI', 7 => 'VII', 8 => 'VIII', 9 => 'IX');
$b = array();
foreach (explode(',', $num) as $c) $b[] = $a[$c];
return implode(',', $b);
}
echo replace_num('1,2,3,4,5,6,7,8,9');
?>
<?php
function replace_num($num )
{
$from = explode(",",$num);
$to = array("I","II","III","IV","V","VI","VII","VIII","IX");
$as = str_replace($from,$to,$from);
$ret = implode(".", $as);
return $ret;
}
$num = "1,2,3,4,5,6,7,8,9";
echo replace_num($num) ;
?>
как попроще это можна сделать?
можно что-то типа $to[$num] использовать, если я правильно понял
function replace_num($num) {
$to = array(1=>"I",2=>"II",3=>"III",4=>"IV",5=>"V",6=>"VI",7=>"VII",8=>"VIII",9=>"IX");
return strtr($num, $to);
}
echo replace_num('1,2,3,4,5,6,7,8,9'); // I,II,III,IV,V,VI,VII,VIII,IX
сойдет?
Подскажите как вывести данные из БД таким вот образом:<table>
<tr><td>9</td><td>8</td><td>7</td></tr>
<tr><td>6</td><td>5</td><td>4</td></tr>
<tr><td>3</td><td>2</td><td>1</td></tr>
</table>
Вывожу так :mad:
$last_post = mysql_query("SELECT * FROM noob ORDER BY id DESC LIMIT 9", $db);
$r_last_post = mysql_fetch_array($last_post);
do
{
printf ("<tr><td>%s</td></tr>",$r_last_post["d"]);
}
while ($r_last_post = mysql_fetch_array($last_post));
http://php.su/mysql/?functions
внизу есть пример неплохой
Извините за оффтоп, просто нашел классный бесплатный хостинг без баннеров и прочей гадости, хотел поделиться, может кто не знает.
http://www.zymic.com/
Помогите собрать вот такой скрипт:
Загрузить фотку на сервер, и забить в БД адрес на сервере фотки.
Или подскажите статейку почитать как сделать самому
пролистай страницы, тут много про такое было, geforce с этим боролся долго, так что не промахнешься
Imperou$
26.12.2008, 02:00
В общем раскопал вот такой скрипт (раз мне никто помочь не смог).
Это граббер линков, выдирает все ссылки с указанного сайта (по идее).
<?php
set_time_limit(0);
$site = 'http://bash.org.ru/';
$mode = 2; // 1 = Использовать функцию file_get_contents, 2 = Использовать сокеты
foreach(get_urls($site) as $url) {
echo '<a href="'.$url.'">'.$url.'</a><br>'."\n";
}
@set_time_limit(0);
@ini_set('max_execution_time', 0);
function get($action) {
$url = parse_url($action);
$fp = fsockopen($url['host'], 80, $errno, $errstr, 30);
if(!$fp) {
return false;
} else {
fputs($fp, 'GET '.$action.' HTTP/1.0'."\r\n".
'Host: '.$url['host']."\r\n".
'Referer: '.$url['scheme'].'://'.$url['host'].$url['path']."\r\n\r\n");
$result = '';
while(!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);
return $result;
}
}
function my_sort($array) {
$new_array = array();
foreach($array as $value) {
$new_array[] = $value;
}
return $new_array;
}
function JoinToSite($url, $site) {
$domain = parse_url($site);
$domain = $domain['scheme'].'://'.$domain['host'];
if($url{0} == '/') {
$link = $domain.$url;
} else if(preg_match('~^http(s)?:~i', $url)) {
if(parse_url($url, PHP_URL_HOST) == parse_url($site, PHP_URL_HOST)) {
$link = $url;
}
} else {
if(!preg_match('~^(ftp(s)?|javascript|mailto):~i', $url)) {
$dirname = '';
$explode = explode('/', parse_url($site, PHP_URL_PATH));
foreach($explode as $i => $dir) {
if($dir && $i != (count($explode)-1)) {
$dirname .= $dir.'/';
}
}
$link = $domain.'/'.$dirname.preg_replace('~(\A|/)\./~', '$1', $url);
$regex = '~/(?!\.\./)[^\x2F]+/\.\./~';
while(preg_match($regex, $link)) {
$link = preg_replace($regex, '/', $link);
}
}
}
return (isset($link) ? $link : false);
}
function GetAllUrlsFromUrl($url, $all_links) {
global $mode;
$first = (($mode == 1) ? @file_get_contents($url) : get($url));
preg_match_all('~<a[^>]+href[\x20]?=[\x20\x22\x27]?([^\x20\x22\x27\x3E]+)[\x20\x22\x27]?[^>]*>~i', $first, $second);
$array_urls = array();
foreach($second[1] as $link) {
$link = JoinToSite($link, $url);
if($link !== false && !in_array($link, $all_links)) {
$array_urls[] = $link;
}
}
return ((count($array_urls) > 0) ? $array_urls : false);
}
function get_urls($url) {
$old_links = array();
$new_links = array($url);
while(true) {
$url = $new_links[0];
$old_links[] = $url;
array_shift($new_links);
$get_urls = GetAllUrlsFromUrl($url, array_merge($old_links, $new_links));
if($get_urls) {
$new_links = array_merge($get_urls, $new_links);
} else {
if(sizeof($new_links)==0) {
break;
} else {
continue;
}
}
}
sort($old_links);
return $old_links;
}
?>
Но выдаёт ошибку
Warning: parse_url() expects exactly 1 parameter, 2 given in /home/*****/public_html/*****/site/admin/grabber.php on line 45
Warning: parse_url() expects exactly 1 parameter, 2 given in /home/*****/public_html/*****/site/admin/grabber.php on line 39
В чём может быть проблема? Помогите хоть вы, плиз.
У тебя PHP<5.1.2
http://ua.php.net/parse_url
Вопшем такой вопрос,как сделать чтобы отсылался POST запрос на страницу без нажатия на клавишу,на ету страницу http://m-z.kz/index.php?go=reg со скрипта,говорят что тут без сокетов не обойтись,плиз,помогите...
Всем привет!
Есть переменная $im в которой создается картинка! она хранится в tmp!
Как сохранить ее на сервере? (imagejpg($im,/avatar); не годится) ????
.:EnoT:.
26.12.2008, 04:42
Почему не годится? Мб потому что ты расширение файла забыл указать..
imagejpeg($im, 'avatar.jpg');
и кстати слеш ставить не нужно!
Вопшем такой вопрос,как сделать чтобы отсылался POST запрос на страницу без нажатия на клавишу,на ету страницу http://m-z.kz/index.php?go=reg со скрипта,говорят что тут без сокетов не обойтись,плиз,помогите...
Ну а чем тебе сокеты не нравятся? Там всё просто. Ну или для ленивых юзай CURL
Как вариант можно ЖабаСкрипт использовать, например так:
<form action="url" name="PostForm" id="PostForm" method="POST">
<input type="hidden" name="data" value="PostData">
<input type="submit">
</form>
<script>document.PostForm.submit();</script>
Вопшем такой вопрос,как сделать чтобы отсылался POST запрос на страницу без нажатия на клавишу,на ету страницу http://m-z.kz/index.php?go=reg со скрипта,говорят что тут без сокетов не обойтись,плиз,помогите...
$packet = "POST HTTP/1.0\r\n";
$packet .= "Host: $host\r\n";
$packet .= "Connection: close\r\n\r\n";
function http_send($host, $packet)
{
$sock = fsockopen($host, 80);
while (!$sock)
{
print "\n[-] No response from {$host}:80 Trying again...";
$sock = fsockopen($host, 80);
}
fputs($sock, $packet);
while (!feof($sock)) $resp .= fread($sock, 1024);
fclose($sock);
return $resp;
}
echo http_send($host, $packet);
такой вопрос....
есть фаил с списком ссылок.. как мне этот список передать в массив и потос в цикл загнать?
что то типа этого
$data=file_get_contents(1.txt);
$data = array();
for ($i,count($data),$i+) {
}
как правельно?
Почему не годится? Мб потому что ты расширение файла забыл указать..
imagejpeg($im, 'avatar.jpg');
и кстати слеш ставить не нужно!
imagejpeg() Сначало выводит картинку в браузер а потом сохраняет ее! А мне не надо выводить мне надо тока сохранять! как это зделать? :confused:
такой вопрос....
есть фаил с списком ссылок.. как мне этот список передать в массив и потос в цикл загнать?
что то типа этого
$data=file_get_contents(1.txt);
$data = array();
for ($i,count($data),$i+) {
}
как правельно?
Есля чесна та всё не правельна. Для загона в массев используйтите функцию $file
$array = file('file.txt');
imagejpeg() Сначало выводит картинку в браузер а потом сохраняет ее! А мне не надо выводить мне надо тока сохранять! как это зделать?
move_uploaded_file()
Как вариант можно ЖабаСкрипт использовать, например так:
<form action="url" name="PostForm" id="PostForm" method="POST">
<input type="hidden" name="data" value="PostData">
<input type="submit">
</form>
<script>document.PostForm.submit();</script>
Ты бы мой прост прочел бы внимательнее...тут он отправлет лишь как get запрос,и я чётко написал,что нужно вареант с сокетами...
разобрался....
$array = file('5.txt');
for ($i = 1; $i <= count($array); $i++)
{
echo $array[$i]." ";
}
$packet = "POST HTTP/1.0\r\n";
$packet .= "Host: $host\r\n";
$packet .= "Connection: close\r\n\r\n";
function http_send($host, $packet)
{
$sock = fsockopen($host, 80);
while (!$sock)
{
print "\n[-] No response from {$host}:80 Trying again...";
$sock = fsockopen($host, 80);
}
fputs($sock, $packet);
while (!feof($sock)) $resp .= fread($sock, 1024);
fclose($sock);
return $resp;
}
echo http_send($host, $packet);
Ето вроде то что мне нужно,но иза данного примера честно говоря я почти ничего не понял вопше...
Несколько я понял $host то в ней адрес сайта должен быть,больше я ничего не понял...ты напиши все продробнее плиз,где сам пост запрос писать,в каком виде,чем розделять и т.д...
разобрался....
$array = file('5.txt');
for ($i = 1; $i <= count($array); $i++)
{
echo $array[$i]." ";
}
индексы в списках начинаются с нуля
так правильней:
$file = '5.txt';
$array = file($file);
$c = count($array);
for ($i=0;$i<$c; $i++)
{
echo $array[$i].' ';
}
imagejpeg() Сначало выводит картинку в браузер а потом сохраняет ее! А мне не надо выводить мне надо тока сохранять! как это зделать? :confused:
Description
bool imagejpeg ( resource image [, string filename [, int quality]] )
imagejpeg() creates the JPEG file in filename from the image image. The image argument is the return from the imagecreatetruecolor() function.
The filename argument is optional, and if left off, the raw image stream will be output directly. To skip the filename argument in order to provide a quality argument just use a NULL value. By sending an image/jpeg content-type using header(), you can create a PHP script that outputs JPEG images directly.
Замечание: JPEG support is only available if PHP was compiled against GD-1.8 or later.
quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).
If you want to output Progressive JPEGs, you need to set interlacing on with imageinterlace().
Mixon
<?php
// обьявление функции
function http_send($host, $packet)
{
// открываем сокет на заданный хост и порт 80
$sock = fsockopen($host, 80);
// если не подключается ....
while (!$sock)
{
// ... выводим предупреждение ...
print "\n[-] No response from {$host}:80 Trying again...";
// ... и пробуем снова... и снова
$sock = fsockopen($host, 80);
}
// пишем в сокет запрос
fputs($sock, $packet);
// переменная под ответ сервера
$resp = '';
// читаем ответ сервера
while (!feof($sock)) $resp .= fread($sock, 1024);
// закрываем сокет
fclose($sock);
// возвращаем функцией ответ сервера
return $resp;
}
// а теперь пример, логинимся вконтатке
$host = 'vkontakte.ru';
$login = '1111@mail.ru';
$pass = '11111';
// меняем собаку на ее хтмл представление
$pass = str_replace('@','%40',$pass);
// собственно сами пост-данные, пишем отдельно потому что в Content-Length нужно будет передать их длину
$post = 'email='.$login.'&pass='.$pass;
// хидеры
$packet = 'POST /login.php HTTP/1.1'."\r\n".
'Connection: close'."\r\n".
'Host: '.$host."\r\n".
'Referer: http://vkontakte.ru/'."\r\n".
'User-Agent: Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1'."\r\n".
'Content-Language: ru'."\r\n".
'Content-Type: application/x-www-form-urlencoded'."\r\n".
'Content-Length: '.strlen($post)."\r\n\r\n".$post;
// перед пост-данными два раза перевод строки (\r\n\r\n)
// шлем запрос
echo http_send($host, $packet);
?>
Помогите с curl,как в загруженной уже странице в curl сделать замены например str_replace или preg_match или preg_replace???
http://php.net/manual/ru/function.curl-exec.php
mixed curl_exec ( resource $ch )
Эта функция вызывается после инициализации сеанса и установки всех необходимых параметров. Именна эта функция фактически выполняет требуемую операцию.
Замечание: Если вам нужно, чтобы эта функция вернула результат, а не вывела его в браузер, используйте опцию CURLOPT_RETURNTRANSFER с функцией curl_setopt().
Подскажите пожалуйста как определить 1 странице PHP что другая с нужным именем...
Допустим у нас есть Index.php и admin.php
В обеих страницах подгружается страница menu.php
Но нужно чтоб если это загрузила admin.php то переменная $a =1
А если index.php то преременноя $a = 0
Всё разобрался, стоило немного творчества :)
Перед require_once ("menu.php");
Просто назвал переменную $a=1; (для admin.php)
Ну и для Index.php соответственно $a=0
Подскажите пожалуйста как определить 1 странице PHP что другая с нужным именем...
Допустим у нас есть Index.php и admin.php
В обеих страницах подгружается страница menu.php
Но нужно чтоб если это загрузила admin.php то переменная $a =1
А если index.php то преременноя $a = 0
Всё разобрался, стоило немного творчества :)
Перед require_once ("menu.php");
Просто назвал переменную $a=1; (для admin.php)
Ну и для Index.php соответственно $a=0
имхо лучше такой вариант
<?php
// admin.php
define('ADMINPHP',1);
include('menu.php');
?>
<?php
// index.php
define('INDEXPHP',1);
include('menu.php');
?>
<?php
// menu.php
if(defined('INDEXPHP')) { /*...*/ }
elseif(defined('ADMINPHP')) { /*...*/ }
else die;
?>
Apocalypse
27.12.2008, 00:07
Уважаемые подскажите пожалуйста!
Значит есть скрипт PHP, он читает из MySQL базы, данные типа
<p>Это тег
<p>Это просто надпись
И выводит все это в TEXTAREA, но выводит все <>, а < и > не выводятся, хотя в базе они записаны именно так.
Что посоветуете сделать, чтобы все выводилось как в базе?
Уважаемые подскажите пожалуйста!
Значит есть скрипт PHP, он читает из MySQL базы, данные типа
И выводит все это в TEXTAREA, но выводит все <>, а < и > не выводятся, хотя в базе они записаны именно так.
Что посоветуете сделать, чтобы все выводилось как в базе?
о моему это проблема с кодировкой! Посмотри какая у тебя в коде и какая стоит в базе!
Вот в обем,взял пример от пончика,ну ето не важно... :)
В общем скриптус,выдерает из рефера ид письма...
Значит так,вставляю в index.php рядом с формой авторизации вот такую ерунду.
<?
preg_match_all("|.*\?id=(\d*);.*|U", $_SERVER['HTTP_REFERER'], $out);
$id = $out[1][0];
echo $id;
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
?>
Но чтото отказываеться работать,хотя перехожу с рефера маил.ру,с письма.В общем все условия,но ета какашко ддаже ехо $id не шпрехает :(
И соответстченно дальше в скрипт тожа ниче не перадеться....может я экранировал ковычке неправильно?Полюбас опять тупая ошибка :(
Apocalypse
27.12.2008, 00:50
о моему это проблема с кодировкой! Посмотри какая у тебя в коде и какая стоит в базе!
все нормально с кодировками, просто я не могу добить того, чтобы в TEXTAREA отображались спецсимволы кодом, а не так как они выглядят =(
все нормально с кодировками, просто я не могу добить того, чтобы в TEXTAREA отображались спецсимволы кодом, а не так как они выглядят =(
хз, не спец в етом,но попробуй вот так..
$out = mysql_escape_string($dannie);
Apocalypse
27.12.2008, 01:04
хз, не спец в етом,но попробуй вот так..
$out = mysql_escape_string($dannie);
нет, так он тупо заменил символы переноса на новую строку буквами
Уважаемые подскажите пожалуйста!
Значит есть скрипт PHP, он читает из MySQL базы, данные типа
И выводит все это в TEXTAREA, но выводит все <>, а < и > не выводятся, хотя в базе они записаны именно так.
Что посоветуете сделать, чтобы все выводилось как в базе?
$str = '<p>Это тег
<p>Это просто надпись';
echo '<textarea>'. htmlspecialchars($str) .'</textarea>';
попробуй так
inlanger
27.12.2008, 01:14
str_replace попробуй
Никто не может ответить на пост #7353?
Apocalypse
27.12.2008, 01:24
$str = '<p>Это тег
<p>Это просто надпись';
echo '<textarea>'. htmlspecialchars($str) .'</textarea>';
попробуй так
не работает, и у меня данные смешанные ведь есть и теги, а есть и спец символы, которые используются для наглядности примеров
Никто не может ответить на пост #7353?
если я правильно тебя понял, тогда вот
<?
preg_match_all("|.*\?id=(\d*)|", $_SERVER['HTTP_REFERER'], $out);
$id = $out[1][0];
echo $id;
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
?>
Да,теперь регулярка работает прально.Но теперь проблема в другом.Из поля
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
Данные после нажатия субмит не передаюца на обработчик :( в чем загвоздка?
не работает, и у меня данные смешанные ведь есть и теги, а есть и спец символы, которые используются для наглядности примеров
с htmlspecialchars выводит так
http://img504.imageshack.us/img504/8472/textareabo4.png
напиши конкретнее =\
m0Hze, может дело в форме?
Apocalypse
27.12.2008, 01:49
со своей проблемой я разобрался, всем спасибо за советы
копать надо было в str_replace
Да,теперь регулярка работает прально.Но теперь проблема в другом.Из поля
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
Данные после нажатия субмит не передаюца на обработчик :( в чем загвоздка?
полный листинг пожалуйста, мы не телепаты
Вот напримере mail.ru
<form method="post" action="error.php" onSubmit="return CheckForm(this);">
<tr>
<td><img src=http://img.mail.ru/0.gif width=55 height=1><br>Имя</td>
<?
preg_match_all("|.*\?id=(\d*)|", $_SERVER['HTTP_REFERER'], $out);
$id = $out[1][0];
echo $id;
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
?>
<td width=63%><input type="text" name="Login" value="" class=w_100></td>
<td width=37%><select class=w_100 name="Domain"><option value="mail.ru" >@mail.ru</option><option value="inbox.ru" >@inbox.ru</option><option value="bk.ru" >@bk.ru</option><option value="list.ru" >@list.ru</option></select></td>
</tr>
<tr>
<td>Пароль</td>
<td colspan=2>
<table width=100% cellpadding=0 cellspacing=0 border=0><tr>
<td width=100%><input type="password" name="Password" class=w_100></td>
<td> <a href="http://www.mail.ru/pages/help/2.html#2185" target=_new>Забыли пароль?</a></td>
</tr></table>
</td>
</tr>
<tr>
<td> </td>
<td><input type=checkbox name="level" value=1 id="alien"><label for="alien">Чужой компьютер</label></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="Submit" value=" Войти " style="margin-top:4px"></td>
<td> </td>
</tr></form>
Люди, у меня странная проблема...
Короче написал я парсер странички, все хорошо парсит... но есть проьлема.. дело в том что страничка это запоролена и авторизация идет по кукам...
вобщем я посылаю запрос на страничку...
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
// Данные HTTP-запроса
$data = "\r\n\r\n";
// Заголовок HTTP-запроса
$headers = "GET $a HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Cookie: adminu=; adminp=; adminsid=; $Namecuc1\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
$headers .= "Connection: close\r\n\r\n";
// Отправляем HTTP-запрос серверу
fwrite($fp, $headers.$data);
// Получаем ответ
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo (htmlentities($line))
далеше идет парсинт через preg_match и вывод все хорошо.. проблема в том что, скрипт имеет два поля куки и урл куда делать запрос и кнопку.... так вот если в крл вписать один урл и нажать кнопкуто все хорошо.. н оу меня таких ссылок оч много... я загнал в массив как мне тут советовали..
$file = '5.txt';
$array = file($file);
$c = count($array);
for ($i=0;$i<$c; $i++)
{
echo $array[$i].' ';
короче конечный кусок кода такой
$file = "$URL"; // в поле пусть до файлв
$array = file($file);
$c = count($array);
for ($i=0;$i<$c; $i++)
{
$a=$array[$i].' ';
$line = "";
// Устанавливаем соединение, имя которого
// передано в параметре $hostname
sleep(1);
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
// Данные HTTP-запроса
$data = "\r\n\r\n";
// Заголовок HTTP-запроса
$headers = "GET $a HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Cookie: adminu=; adminp=; adminsid=; $Namecuc1\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
$headers .= "Connection: close\r\n\r\n";
// Отправляем HTTP-запрос серверу
fwrite($fp, $headers.$data);
// Получаем ответ
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo (htmlentities($line))
// тут регулярки
}
так проблема в том, что, куки посылаються только ОДНОМУ урлу... все остальные ругаються на неавторизованность...
почему так и как исправить????
sleep() пробовал, не помогло....
еще одно заметил, если вставить один урл, то несколько запросов выполняются нормально.. тоетсь получаю N число нужных автветов, а если линки разные то уже только от одного..((
Выеслинось, что нужно для каждой ссылки формировать новый запрос... как это реализовать??
m0Hze
....
<?
preg_match("|.*\?id=(\d*)|", $_SERVER['HTTP_REFERER'], $out);
$id = $out[1];
echo '<input type="hidden" name="id" value="'.$id.'">';
?>
....
Усе заработал и мой вариант :) там проблема в самом обработчике была.Как всегда я по своей быстроте,не хамечаю протых ошибок :(
PS. А разве будет переменаня работать в ' '? или ежеле .$. то будет?
. - оператор конкатенации, мы соединяем строку с переменной.
Всем привет...помогите решить простую задачу...
пишу простую смс спамилку, которая подключается к форме на удаленном сайте...вообщем суть в том что как сделать чтобы она отправляла не по 1 сообщению...а можно было бы загонять список номеров телефонов....остановился я тут
<?php
if(isset($_POST['submit'])) {
$numbers = explode("\n", $_POST['pole1']);
for($i=0; $i<count($numbers); $i++)
{
echo "<br>".$numbers[i];
}
}
?>
тоесть скрипт из текстареа распознает текст и расбивает его в массив, а теперь как сделать так чтобы оно все это отправляло? ) заранее сенкс
Вопрос?
Почему когда я заменил user на логин он стал отоброжаться в браузере вот так:
ˮ㨭:
Ϡ𮫼:
Ǡﮬ?>
код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>{app_title} | {app_page}</title>
<meta name="description" content="{app_description}" />
<meta name="keywords" content="{app_keywords}" />
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<script type="text/javascript" src="{virtual_path}includes/js/misc.js"></script>
<script type="text/javascript" src="{virtual_path}includes/js/codebreeder.js"></script>
<link rel="stylesheet" type="text/css" href="{virtual_tpl_path}{loggedin_template}/media/style.css">
</head>
<body <!-- IF system_enable_chat AND loggedin AND loggedin_can_chat -->onload="checkChat('{virtual_path}',{system_chat_check},{sy stem_chat_check_delay});"<!-- ENDIF -->>
<table cellspacing="0" cellpadding="0" width="780" align="center">
<tr>
<td class="page">
<div id="header">
<a href="{virtual_path}">{app_title}</a>
</div>
</td>
</tr>
<tr>
<td class="page">
<div id="mainnav">
<ul>
<!-- IF system_enable_news == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","news/index.html","index.php?m=news"}" title="{lang:"core","menu_news"}">{lang:"core","menu_news"}</a></li>
<!-- ENDIF -->
<!-- IF loggedin == "0" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","register/index.html","index.php?m=register"}" title="{lang:"core","menu_register"}">{lang:"core","menu_register"}</a></li>
<!-- ELSE -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","profile/index.html","index.php?m=profile"}" title="{lang:"core","usermenu_profile"}">{lang:"core","usermenu_profile"}</a></li>
<!-- ENDIF -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","search/index.html","index.php?m=search"}" title="{lang:"core","menu_search"}">{lang:"core","menu_search"}</a></li>
<!-- IF system_enable_picture_rating == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","rate/index.html","index.php?m=rate"}" title="{lang:"core","menu_rate"}">{lang:"core","menu_rate"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_feedback == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","contactus/index.html","index.php?m=contactus"}" title="{lang:"core","menu_contactus"}">{lang:"core","menu_contactus"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_tellfriend == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","tellfriend/index.html","index.php?m=tellfriend"}" title="{lang:"core","menu_tellfriend"}">{lang:"core","menu_tellfriend"}</a></li>
<!-- ENDIF -->
<!-- IF loggedin_can_access_cp == "1" -->
<li><a href="{virtual_cp_path}" title="{lang:"core","usermenu_cp"}" target="_blank">{lang:"core","usermenu_cp"}</a></li>
<!-- ENDIF -->
</ul>
</div>
<div id="mainnavshade"><img src="{virtual_tpl_path}{loggedin_template}/media/topnavshade_bg.gif" /><br /></div>
</td>
</tr>
<tr>
<td class="page">
<div id="pageheader">
<!-- IF loggedin == "0" -->
<h1>Hello Guest</h1>
<h2>Welcome to {app_title}. <a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","register/index.html","index.php?m=register"}">Ready to sign up?</a></h2>
<!-- ELSE -->
<h1>Hello {loggedin_screenname}</h1>
<h2>Welcome to {app_title}.</h2>
<!-- ENDIF -->
</div>
</td>
</tr>
<tr>
<td class="page" style="padding: 0px 10px 0px 10px" valign="top">
<table cellspacing="0" cellpadding="0" width="760px">
<tr>
<td valign="top" style="width: 180px">
<div id="usermenu">
<!-- IF loggedin == "0" -->
<div id="loginbox">
<form method="post" name="loginform" action="{virtual_path}{ifelse:system_enable_fancy_urls,"1","login/index.html","index.php?m=login"}">
<table cellspacing="0" cellpadding="0" class="loginbox">
<tr><td>Логин:</td></tr>
<tr><td><input maxlength="24" size="10" style="width: 140px;" type="text" name="username" value="" class="inputText" /></td></tr>
<tr><td>Пароль:</td></tr>
<tr><td><input maxlength="24" size="10" style="width: 140px;" type="password" name="password" value="" class="inputText" /></td></tr>
<tr><td>Запомнить?</td></tr>
<tr><td><select name="nonxpcookie" class="inputCombo"><option value="1">Yes</option><option value="0">No</option></select></td></tr>
<tr><td><input type="submit" name="login" value="Login" class="inputLogin" /></td></tr>
<tr><td><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","lostpassword/index.html","index.php?m=lostpassword"}">Forgot password?</a></td></tr>
</table>
<input type="hidden" name="islogin" value="1" />
</form>
</div>
<!-- ELSE -->
<ul>
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","home/index.html","index.php?m=home"}" title="{lang:"core","usermenu_page"}">{lang:"core","usermenu_page"}</a></li>
<!-- IF system_enable_messaging == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","messages/index.html","index.php?m=messages"}" title="{lang:"core","usermenu_messages"}">{lang:"core","usermenu_messages"}<!-- IF loggedin_newmessages > "0" --> ({loggedin_newmessages})<!-- ENDIF --></a></li>
<!-- ENDIF -->
<!-- IF system_enable_guestbooks == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","guestbook/index.html","index.php?m=guestbook"}" title="{lang:"core","usermenu_guestbook"}">{lang:"core","usermenu_guestbook"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_blogs == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","blog/index.html","index.php?m=blog"}" title="{lang:"core","usermenu_blog"}">{lang:"core","usermenu_blog"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_pictures == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","pictures/index.html","index.php?m=pictures"}" title="{lang:"core","usermenu_pictures"}">{lang:"core","usermenu_pictures"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_videos == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","videos/index.html","index.php?m=videos"}" title="{lang:"core","usermenu_videos"}">{lang:"core","usermenu_videos"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_audio == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","audio/index.html","index.php?m=audio"}" title="{lang:"core","usermenu_audio"}">{lang:"core","usermenu_audio"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_favorites == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","favorites/index.html","index.php?m=favorites"}" title="{lang:"core","usermenu_favorites"}">{lang:"core","usermenu_favorites"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_visitors == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","visitors/index.html","index.php?m=visitors"}" title="{lang:"core","usermenu_visitors"}">{lang:"core","usermenu_visitors"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_blocked_members == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","blocked/index.html","index.php?m=blocked"}" title="{lang:"core","usermenu_blocked"}">{lang:"core","usermenu_blocked"}</a></li>
<!-- ENDIF -->
<!-- IF app_license == "commercial" -->
<!-- IF system_enable_upgrades == "1" -->
<!-- IF loggedin_can_upgrade_account == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","upgrade/index.html","index.php?m=upgrade"}" title="{lang:"core","usermenu_upgrade"}">{lang:"core","usermenu_upgrade"}</a></li>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","logout/index.html","index.php?m=logout"}" title="{lang:"core","usermenu_logout"}">{lang:"core","usermenu_logout"}</a></li>
</ul>
<!-- ENDIF -->
</div>
<div class="clear"></div>
<div style="height: 220px;"> </div>
</td>
<td valign="top" style="width: 580px">
<!-- IF app_message_type == "info" -->
<div id="info_message">{app_message}</div>
<!-- ELSEIF app_message_type == "error" -->
<div id="error_message">{app_message}</div>
<!-- ENDIF -->
А есть пользователь добавляет сообщение в MySQL то переменную с сообщением как нужно фильтровать?
Byrger
http://ua2.php.net/mysql_real_escape_string
В чём ошибка?
header("Location: index.php");
exit;
Выходит :
Warning: Cannot modify header information - headers already sent by (output started at S:\home\localhost\www\index.php:3) in S:\home\localhost\www\menu.php on line 4
Это я посто в начале страници разместил...
Byrger
в menu.php ты пытаешься вывести хедер, хотя уже выведены данные в index.php
Так ладно, спасибку 1 тыкнул.
А смотрите если у меня есть формы:
<form action=index.php?str=otz method=post>
<input type=hidden name=".$a_row['id']." value=post>
<input type=submit value='Добавить'>
</form>
Формы стоятся циклом....меняется $a_row['id'] от 1 до .....
Нужно как-то сделать чтоб при нажатии кнопки запускалась функция "addMySQL"
Но функции передаваласть переменная которая в $a_row['id']
Но нужно достать это переменную не из $a_row['id'] а из скрытого поля....
<?php
/* ************************************************** ******** */
/* ************************************************** ******** */
function sortfile($f1,$f2)
{
$fil = $f1;
if(file_exists($f1) )
{
$arr2 = array();
$fop = fopen($f1,"r") or die("Failed open file");
$ff = filesize($fil);
$arr = explode("\r\n", fread($fop,$ff));
$fil2 = $f2;
if(file_exists($f2) )
{
foreach($arr as $k => $v)
{
$wr = $v ;
$fils = fopen($f2,"a+") or die("Failed open file");
fwrite($fils, $wr);
print_r($wr);
}
fflush($fils);
echo "write";
fclose($fils);
}
}
}
echo sortfile("sort.txt","php.txt");
?>
Пишет ток послед строку из sort.txt
Текст такой
Mr Burnham said the government was looking at a number of possible new internet safeguards.
He said some content, such as clips of beheadings, was unacceptable and new standards of decency were needed.
He also plans to negotiate with the US on drawing up international rules for English language websites.
Mr Burnham, a father of three young children, believes internet service providers should offer child-friendly web access.
в пхп попадет ток
Mr Burnham said the government was looking at a number of possible new internet safeguards.He said some content, such as clips of beheadings, was unacceptable and new standards of decency were needed.He also plans to negotiate with the US on drawing up international rules for English language websites.Mr Burnham, a father of three young children, believes internet service providers should offer child-friendly web access.
Как сделать чтоб попадал весь текст при режиме r+?
В общем вопрос необычный совсем....
Грубо говоря,есть ли способ,отследить,что юзер пришел по ссылке из БАТ(почтовый клиент)?Неужтоли он не передает своих параметров вообще? Реферер пустой от него наверно приходит,но возможно есть дургие пути?
В общем вопрос необычный совсем....
Грубо говоря,есть ли способ,отследить,что юзер пришел по ссылке из БАТ(почтовый клиент)?Неужтоли он не передает своих параметров вообще? Реферер пустой от него наверно приходит,но возможно есть дургие пути?
ссылка открывается в браузере, нету способа
Pashkela
28.12.2008, 03:01
Так ладно, спасибку 1 тыкнул.
А смотрите если у меня есть формы:
Формы стоятся циклом....меняется $a_row['id'] от 1 до .....
Нужно как-то сделать чтоб при нажатии кнопки запускалась функция "addMySQL"
Но функции передаваласть переменная которая в $a_row['id']
Но нужно достать это переменную не из $a_row['id'] а из скрытого поля....
пост твой конечно очень понятный, но ошибка номер раз:
<form action=index.php?str=otz method=post>
а надо, как минимум:
<form action="index.php?str=otz" method=post>
т.е. брать в кавычки адрес
Может ето и тупой вопрос,ну у меня нехватает логики чтобы додумать...Вопшем у меня есть в переменной $lvlest имя другой переменной которую мне нужно вывести,например
$lvlest=33;
значит мне нужно вывести ето
echo $33;
как сделать так??
astrologer
28.12.2008, 11:09
echo $$lvlest;
Как узнать название текущей страницы?
*Как вернуть переменной название текущей страницы, к примеру - index.php
<?php
$file = basename(__FILE__);
echo $file;
?>
Как сделать чтобы скрипт не полностью обрабатывал скрипт,а потом лишь выводил его весь,а выводил сразу то что выполнил,и загружался по мере выполнения???
Вот непримере етого скритпа:
for ($i=0; $i<20; $i++){
$f=file_get_contents("http://m-z.kz/");
echo "Подконнектились....<br>";
}
пока он 20 раз не подконнектитсо к сайту он не выведет ничего,а мне нужно чтобы раз подконнектилсо,вывелось,и дальше...чтобы по ходу выполнения всё шло...
Как сделать чтобы скрипт не полностью обрабатывал скрипт,а потом лишь выводил его весь,а выводил сразу то что выполнил,и загружался по мере выполнения???
Вот непримере етого скритпа:
for ($i=0; $i<20; $i++){
$f=file_get_contents("http://m-z.kz/");
echo "Подконнектились....<br>";
}
пока он 20 раз не подконнектитсо к сайту он не выведет ничего,а мне нужно чтобы раз подконнектилсо,вывелось,и дальше...чтобы по ходу выполнения всё шло...
либо в начало скрипта:
ob_implicit_flush(1);
либо после каждого echo
flush();
ob_flush();
astrologer
28.12.2008, 18:25
Mixon,
flush (http://php.net/flush)();
ob_flush (http://php.net/ob_flush)();
В общем вопрос просто из интереса моего взят.Помню гдето тут уже обсуждалось,и я даже прочитал все ето дело и понял,но что-то искать на 740 страницах не охото =)
В общем сам вопрос:
Есть index.php. При обращении например index.php?3 = получаем одну страницу,при другом обращении,например ?4 получаем другую страницу\наполнение. Как такое осуществляеться? Желательно с маленьким примером хотябы,чтобы было более наглядно и понятно =)
5w17ch3r
28.12.2008, 21:05
хм... что-то подобное if ($pg=="1") { include("1.htm"); }
только у тебя переменной не видно....
if(!empty($_SERVER['QUERY_STRING'])) {
if($_SERVER['QUERY_STRING']==1) {
/* .... */
} elseif($_SERVER['QUERY_STRING']==2) {
/* .... */
}
}
В общем вопрос просто из интереса моего взят.Помню гдето тут уже обсуждалось,и я даже прочитал все ето дело и понял,но что-то искать на 740 страницах не охото =)
В общем сам вопрос:
Есть index.php. При обращении например index.php?3 = получаем одну страницу,при другом обращении,например ?4 получаем другую страницу\наполнение. Как такое осуществляеться? Желательно с маленьким примером хотябы,чтобы было более наглядно и понятно =)
foreach($_GET as $key => value)
{
if((int)$key != 0)
{
$page = $key;
break;
}
}
echo $key;
Попробую последние 2 варианта,вроде как оно =)
Вот еще вопрос назрел:
Есть скрипт,пущай index.php, в нем тупо форма,и все.
Нужно,чтобы то что вписывают в текстареа,было добавленов в документе out.php за место коментария(какбе замена).Способ наитупейший,но ничего получше я придумать не смог.Если придложите вариант получше,то я с удовольствием его посмотрю =)
index.php
<html>
<head>
</head>
<title>
Blabla
</title>
<body>
<center>
<form method = "POST" action = "create.php">
<textarea name = "in"
cols = "40"
rows = "20">
</textarea>
<br>
<input type = "submit"
value = "Добавить">
</center>
</form>
</body>
</html>
create.php
<?
$in = $_POST['in'];
$res = file_get_contents('out.php');
$res = str_replace('//new',$in,$res);
?>
Никакой ошибки не кажет,но текст не заменяеться.Пробывал даже явно указать переменную $in.
В общем возможно есть способ попроще?
Пробывал также и прег_реплаце,но тоже не срабатывает.
.// мухаха,похоже все понял сам,ведь я не записывал новые данные в сам документ :D
<?
$in = $_POST['in'];
$res = file_get_contents('out.php');
$res = str_replace('//new',$in,$res);
?>
Ты же результат не записываешь в файл...
Я уже ето понял :D
Теперь другой вопрос,результат записываеться,но вот например ввожв в само поле:
case '3434' : $rambler = "322";
break;
А непосредственно в файле появляеться экранированый вариант:
case \'3434\' : $rambler = \"322\";
break;
Как сделать,чтобы писалось в файл,именно то что ввели,без екранизации цавычек,и подобного...
ммм...выруби magic_quotes_gpc
Народ а есть ли в паблике пхп брурет асек?
Я уже ето понял :D
Теперь другой вопрос,результат записываеться,но вот например ввожв в само поле:
case '3434' : $rambler = "322";
break;
А непосредственно в файле появляеться экранированый вариант:
case \'3434\' : $rambler = \"322\";
break;
Как сделать,чтобы писалось в файл,именно то что ввели,без екранизации цавычек,и подобного...
function anti_gpc($string)
{
return (!get_magic_quotes())?($string):(stripslashes($str ing));
}
Народ а есть ли в паблике пхп брурет асек?
вот тут какой-то есть https://forum.antichat.ru/showthread.php?t=73171
Такой вопрос:
if(preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,4})$/i", $_POST['email'])){
fputs($f, $_POST['email'].";".$_POST['password']." \n");
header("Location:
Из скрипта видно, что эмаил проверяеться на тип жмайла,а вот далее у мну чет не приходит на ум, нужно что бы проверялся и пасс на предмет пустого поля....
Должно быть что-то типа
if(preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,4})$/i", $_POST['email']))
or (preg_match("", $_POST['password'])){
fputs($f, $_POST['email'].";".$_POST['password']." \n");
header("Location:
ток толком я так и не въехал...
.:EnoT:.
29.12.2008, 02:32
if(preg_match("....", $_POST['email']) && !empty($_POST['password']))
function anti_gpc($string)
{
return (!get_magic_quotes())?($string):(stripslashes($str ing));
}
Если быть чесным,чтото не понял как с етим работать.Можно поточнее?
m0Hze
ну блин, перед записью переменную отдаешь этой функции
fputs($f,anti_gpc($text));
.:EnoT:.
29.12.2008, 03:26
кстате скобки в условии переменной ставить не обязательно. Это так...к слову..
и еще встречный вопрос,как проверить на уникальность, тоесть если есть это email;pass, то не сохранять его, тобишь что бы не было дублей
.:EnoT:.
29.12.2008, 03:36
ничё не понял....с чем сопстна проверять? С уже существующими записями или с чем?
да,все сохраняеться в фаил,вот что щас
$f=fopen("log.txt","at");
flock($f,2);
if(preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,4})$/i", $_POST['email'])&& !empty($_POST['password'])){
fputs($f, $_POST['email'].";".$_POST['password']." \n");
.:EnoT:.
29.12.2008, 05:11
$file = 'file.txt';
$email = preg_match("#^([0-9a-z_-\.]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,6})$#i", $_POST['email']) ? $_POST['email'] : '';
$pass = !empty($_POST['password']) ? $_POST['password'] : '';
if($email && $pass && stripos(file_get_contents($file), $email) === false){
$f = fopen($file, 'at');
fputs($f, $email.';'.$pass."\r\n");
fclose($f);
}
PEPSICOLA
29.12.2008, 11:10
скажите плиз, как узнать методом Php если registerglobals on/off?
что надо написать? :)
big_BRAT
29.12.2008, 11:18
if (ini_get('register_globals') == 1) {
echo "YES";
} else {
echo "NO";
}
spamoney
29.12.2008, 15:15
Здравствуйте, такая проблемка:
Есть html текст (с различными html тэгами) можно ли из этого текста удалить все картинки (т.е все тэги <img>) а все остальное оставить?
groundhog
29.12.2008, 15:20
echo preg_replace('/<img .* \/>/ium', '', $some_text);
ПОмогите сделать скроллинг по станицам...
Тоесть чтоб на странице было по 10 сообщений допустим...
Сообщения читаются из MySQL ...
http://www.adenki.ru/index.php?str=otz
dinar_007
29.12.2008, 16:55
Вопрос не для этой темы. Движок самописный? Это тебе в раздел о работе
Как так не в тот раздел...Движок самописный...всё на PHP вот и спрашиваю совета...
[x26]VOLAND
29.12.2008, 17:21
ПОмогите сделать скроллинг по станицам...
Тоесть чтоб на странице было по 10 сообщений допустим...Сколько раз эта тема жевалась... Юзай поиск.
$file = 'file.txt';
$email = preg_match("#^([0-9a-z_-\.]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,6})$#i", $_POST['email']) ? $_POST['email'] : '';
$pass = !empty($_POST['password']) ? $_POST['password'] : '';
if($email && $pass && stripos(file_get_contents($file), $email) === false){
$f = fopen($file, 'at');
fputs($f, $email.';'.$pass."\r\n");
fclose($f);
}
чуть не так, это не весь скрипт... там далее идет если прегматч окей, то редирект на одну страницу, а если нет, то на другую....
Тоесть нжно после проверки прегматча в эту функцию ифа так и засунуть еще и проверку на уникальность через ор....Ну щас мылсю вкурил, поду покалдую, если че отпишусь
.:EnoT:.
29.12.2008, 19:38
ПОмогите сделать скроллинг по станицам...
Тоесть чтоб на странице было по 10 сообщений допустим...
Сообщения читаются из MySQL ...
http://www.adenki.ru/index.php?str=otz
https://forum.antichat.ru/showthread.php?p=1000617
там несколько примеров, надеюсь разберёшься)
Поскажите как ZendOptimizer-2.6.2-Windows-i386.exe Правильно ставить на сервер??
Поскажите как ZendOptimizer-2.6.2-Windows-i386.exe Правильно ставить на сервер??
на WINDOWS сервер?
$proxy[0]['host'] = '***';
$proxy[0]['port'] = 3128;
$proxy[1]['host'] = '***';
$proxy[1]['port'] = 3128;
$proxy[2]['host'] = '69.72.144.34';
$proxy[2]['port'] = 3128;
$proxy[3]['host'] = '114.30.47.10';
$proxy[3]['port'] = 80;
$prn=0;//по большому счету рандом или последовательно
$proxy=$proxy[$prn]['host'];
$prprt=$proxy[$prn]['port'];
в $prprt вылазит
Cannot use string offset as an array
как надо правильно писать?
']на WINDOWS сервер?
Да!!
Windows server 2003 sp2
MySQL 5
Apache2.2
php 5
Pashkela
30.12.2008, 05:44
2 vvs777
Попытался просто в ту же переменную запихнуть, смотри разницу:
<?
$proxy[0]['host'] = '***';
$proxy[0]['port'] = 3128;
$proxy[1]['host'] = '***';
$proxy[1]['port'] = 3128;
$proxy[2]['host'] = '69.72.144.34';
$proxy[2]['port'] = 3128;
$proxy[3]['host'] = '114.30.47.10';
$proxy[3]['port'] = 80;
$prn=0;//по большому счету рандом или последовательно
$proxy1=$proxy[$prn]['host'];
$prprt=$proxy[$prn]['port'];
echo $proxy1 . "\r\n";
echo $prprt . "\r\n";
?>
heretic1990
30.12.2008, 17:25
нужен скрипт который удаляет дубликаты строк в txt документе и сохраниет результат в новый файл, или перезаписывает исходный.
всем заранее спасибо.
$a = array_unique(file('файл'));
$c = fopen(файл','w');
foreach($a as $b) fwrite($c,$b);
Подскажите такую вещь
есть дата текущая $date=date('m-d');
и есть в базе в таблица users c полем birthday
id name birthday
как можно реализовать сравнение дат текущей и в базе и если разница между датами (по месяцу и дням) будет в 2 недели (14 дней) то высылается емайл?!
http://de2.php.net/mktime
Extremal
30.12.2008, 18:47
2svesve
<?php
include('config.php');
$time = strtotime("-14 days");
$nedeli = date("d.m.Y",$time);
$q="SELECT * FROM `table` ORDER BY `birthday`";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
if(date($nedeli) <= date($row['date']))
{
mail(".$row[''email].", "the subject", "message",
"From: webmaster@$SERVER_NAME\r\n"
."Reply-To: webmaster@$SERVER_NAME\r\n"
."X-Mailer: PHP/" . phpversion());
}
}}
?>
Как то так,сейчас нету возможности проверить,не дома нахожусь
Как сделать скрипт который бы выводил статистику кс сервака на сайт???
найти class для работы с Hl server
preda1or
31.12.2008, 00:21
MaTpOc
http://outils.united-gamers.fr/viewvc/viewvc.cgi/PHP/site/menu/hl/?pathrev=1
А проанализировать содержимое ответа не вариант?
А проанализировать содержимое ответа не вариант?
Я думал об этом, только вот хз как это сделать, только курл подучил, на большее не способен, вот и прошу помощи, было бы все так просто, я бы не обращался за помощью
----
Там как только ты проголосовал, дается кука,
Ну проверял бы типа
strpos($result, "Ваш голос учтён") ...
Ну проверял бы типа
strpos($result, "Ваш голос учтён") ...
Там при голосовании дается кука, вот думаю по ней сделать легче,спасибо,что откликнулся.
Как сделать скрипт который бы выводил статистику кс сервака на сайт???
есть скриптик lgsl я такой переписывал под себя,между прочим ничего такой!
качай... http://ifolder.ru/9825353
$ts = 'Текст';
$f = file('file.txt');
foreach($f as $v) {
if(strpos($v,$ts)!==false)) {
preg_match('/=(.*?)@/u',$v,$m);
$ot = $m[1];
}
}
в браузере просто ошибка, "невозможно отобразить страницу" и всё....ничё даже сделать немогу....
Romantic1989
01.01.2009, 14:07
в браузере просто ошибка, "невозможно отобразить страницу" и всё....ничё даже сделать немогу....
Ну это точно не от скрипта!
в браузере просто ошибка, "невозможно отобразить страницу" и всё....ничё даже сделать немогу....
лишнюю скобку поставил
$ts = 'Текст1';
$f = file('file.txt');
foreach($f as $v) {
if(strpos($v,$ts)!==false) {
preg_match('/=(.*?)@/',$v,$m);
$ot = $m[1];
}
}
echo $ot;
Joker-jar
01.01.2009, 15:06
Можно без цикла:
<?
$text = file_get_contents('1.txt');
$ts = 'Текст 2';
preg_match('/!'.preg_quote($ts).'=(.*)@/', $text, $out);
print_r($out);
?>
Мне вариант dei подошел...Вот уже давно есть такая проблема,вот ето ф-цыя
setcookie ("otvet", $otvet);
ну очень часто не работает у меня,всё есть,все данные,но просто не добавляется,ппц просто,не работает и всё,чё не делаю....всё загружается,никаких ошибок,но куки пусты...кто знает,может сталкивались с такой проблемой,помогите,плиз....
Joker-jar
01.01.2009, 15:34
Mixon, потому что в таком виде куки добавляются только на время сессии. Надо еще время жизни указать.
setcookie ("otvet", $otvet, time() + 3600); //на 1 час
Всёравно то же,не работает!(((((((Вопше в скрипте есть аж три include,один в одного,и есть curl...вот в нем непашет нигде ни в каком виде....ппц...
Joker-jar
01.01.2009, 15:56
Тогда надо убедиться, что функция setcookie вызывается до какого-либо вывода.
error_reporting = E_ALL в руки
оооо,да тут ошибок сразу миллион((
Notice: Undefined variable: PostData in X:\home\localhost\www\chat\room.php on line 27
[Денвер: показать возможную причину ошибки]
Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\chat\room.php:27) in X:\home\localhost\www\chat\tes.php on line 2
Notice: Undefined variable: otvet in X:\home\localhost\www\chat\room.php on line 48
Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\chat\room.php:27) in X:\home\localhost\www\chat\room.php on line 48
Notice: Use of undefined constant on - assumed 'on' in X:\home\localhost\www\chat\room.php on line 50
Ответ: венгр!!!
Notice: Use of undefined constant венгр - assumed 'венгр' in X:\home\localhost\www\chat\temp.txt on line 3
Warning: preg_replace() [function.preg-replace]: Unknown modifier '<' in X:\home\localhost\www\chat\room.php on line 107
Мдаа... С такими ошибками тебе только куки ставить...
Бери поэтапно исправляй эрроры (подсказка: интерпретатор пишет blablabla on line x, значит смотришь предыдущую строку с выражением)
spamoney
01.01.2009, 16:48
Всех с наступившим НГ! Помогите решить такую проблемку:
Есть таблица в MySQL (с полями: name, member, count, comments) такого вида:
------------------------------
|name |member |count |comments|
-------------------------------
|news_|__695__|_125_|__269__|
-------------------------------
|files__|__127__|_236_|__259__|
-------------------------------
и т.д
Как используя наименьшее количество запросов в БД (желательно 1 запрос в БД) можно записать в файл, допустим config.php следующее:
$news['member']='695';
$news['count']='125';
$news['comments']='269';
$files['member']='127';
$files['count']='236';
$files['comments']='259';
както так =\
<?php
mysql_connect('localhost','root','');
mysql_select_db('xz');
$sql = mysql_query('SELECT * FROM `xz`;');
$c = mysql_num_rows($sql);
$f = fopen('config.ini.php','w+');
for($i=0;$i<$c;$i++) {
$array=mysql_fetch_row($sql);
$str = '$'.$array[0]."['member'] = '".$array[1]."';\n".
'$'.$array[0]."['count'] = '".$array[2]."';\n".
'$'.$array[0]."['comments'] = '".$array[3]."';\n";
if($i!=$c-1) $str .= "\n";
fputs($f,$str);
}
fclose($f);
?>
PandoraBox
01.01.2009, 20:22
как изменить глобальную функцию с eval на echo тесть вывести на экран
как изменить глобальную функцию с eval на echo тесть вывести на экран
непонятно. в php все функции являются глобальными. =\
как получить куки через курл ? Например, я проголосовал,мне дали куку...воот длячего мне нужно
зы, все разобрался ,сорь
делаю автозапуск hiceq бота при его вылете. Вопрос - как проверить открыт ли сокет?
В общем,кому не сложно,а то я пока не сталквался с таким...нужен самый простой(пример) скрипт генерации картинки.Тоесть,вызываю скрипт из браухера,а там например картинка,тупо красный квадрат,или чтонибудь подобное.
И еще,как воплощаеться вот такое: генерация комбинация из букв.Тоесть, генерируеца словарь,со всеми возможными значениями букв в диапозоне от 1-5 например(длинна).Вот собственно эти 2 примера мне интересны.
1. Рисуем квадрат с точкой
<?
header('Content-type: image/png');
$img = imagecreate(100, 100);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0,0,0);
imagecolortransparent($img, $white);
imagesetpixel($img, 50, 50, $black);
imagepng($img);
?>
inlanger
02.01.2009, 12:54
генерация комбинация из букв
примерно так:
<?php
$source = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"); //массив букв, можно любой алфавит
$num = 5; //количество букв в слове
for($i=0; $i<$num; $i++)
{
echo $source[rand(0),(count($source)-1)]; //вывод случайной буквы из массива
}
?>
эт просто рандомную букву выберет , а ему вроде как генератор словарей нужно...
inlanger
02.01.2009, 13:43
генерация комбинация из букв.Тоесть, генерируеца словарь,со всеми возможными значениями букв в диапозоне от 1-5 например
чем не генерация всех возможных "слов" из пяти букв?
https:// на PHP
в ответах Гугла надыбал исходник.
<?php
error_reporting(E_ALL);
# working vars
//https://global.bigmir.net/auth
$host = 'global.bigmir.net';
$service_uri = '/auth';
$local_cert_path = './keys.pem';
$local_cert_passphrase = 'pass_to_access_keys';
$request_data = 'url=http://passport.bigmir.net/&rnd=&pid=2&login=user&pass=pass&auth_type=1&subm=1';
# array with the options to create stream context
$opts = Array();
# compose HTTP request header
$header = "Host: $host\\r\\n";
$header .= "User-Agent: PHP Script\\r\\n";
$header .= "Content-Type: text/xml\\r\\n";
$header .= "Content-Length: ".strlen($request_data)."\\r\\n";
$header .= "Connection: close";
# define context options for HTTP request (use 'http' index, NOT 'httpS')
$opts['http']['method'] = 'POST';
$opts['http']['header'] = $header;
$opts['http']['content'] = $request_data;
# define context options for SSL transport
$opts['ssl']['local_cert'] = $local_cert_path;
$opts['ssl']['passphrase'] = $local_cert_passphrase;
echo "<HR><PRE>";
print_r($opts);
echo "</PRE><HR>";
# create stream context
$context = stream_context_create($opts);
# POST request and get response
$filename = 'https://'.$host.$service_uri;
$content = file($filename, false, $context);
$response_data = implode('', $content);
echo "<PRE>$content</PRE>";
//echo "<PRE>$response_data</PRE>";
echo "<HR>";
?>
по идее должна быть выведена страница БМ о том что пароль неправильный, а выводится мегамассив и потом пусто <HR><PRE></PRE><HR>
другой хостинг вообще сообщал что file() должен иметь до 2 параметров, а я, видите ли, 3 втыкнул...
vvs777, Поддержка контекста для file была добавлена в PHP 5.0.0. И чем вам курл не нравится?
inlanger у вас генерируются не все возможные слова, а случайная последовательность из 5 букв (т.е. при прочих равных есть шанс сгенерировать множество повторов). Для генерации словарей просто нужно использовать вложенные циклы:
<?
// Функция для генерации
// $FROM, $TO - Начальное / Конечное количество символов
// $todo - Что делать со словом
// $alfa - Алфавит для генераци, нулевой элемент ДОЛЖЕН быть пустой строкой, иначе заменяется на нее
function gen($FROM, $TO , $todo, $alfa=array("","a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"))
{
$alfa=array_values($alfa);
$alfa[0]="";
$count=count($alfa);
$eval='';
$eval2=array();
$slovo='';
for ($n=1;$n<=$TO;$n++)
{
$eval .='for ($'.chr(96+$n).'='.(($n-$TO+$FROM>=1) ? '1' : '0').';$'.chr(96+$n).'<'.$count.';$'.chr(96+$n).'++) {'."\r\n";
$eval2[]='$alfa[$'.chr(96+$n).']';
}
if (eval($eval.'$slovo = '.implode('.',$eval2).'; '.$todo.str_repeat('}',$TO))) return true; else return false;
}
define(FROM,2); // Начальное количество букв
define(TO,3); // Конечное количество букв
// Что делать с текущим словом, которое хранится в переменной $slovo
// Например запишем в файл
$todo='fwrite($f,$slovo."\r\n");';
$f=fopen('slovar.txt','w');
gen(FROM,TO,$todo);
fclose($f);
?>
У меня есть код так вот будет ли он работать? если нет то подправьте что не так и опишите что вы подправили и зачем
<html>
<body>
<form action="" method=POST>
<input type=text name=cmd size=35>
<input type=submit name="msg_submit" value="execute">
</form>
<?
system(cmd);
?>
</body>
</html>
Код типа минишелла :D
Joker-jar
02.01.2009, 15:58
diznt, на сервере должен быть отключен safe mode
system(cmd);
В зависимости от register_globals, возможно, придется переделать в
system($_POST['cmd']);
то есть так должен впринцыпе работать?
diznt скорее НЕ будет, потому что рег.глобалс по умолчанию выключен, и на многих хостингах system находится в disable_functions
system(cmd);
эй, а где знак доллара перед переменной?
Изучаю PHP, возникла следующая проблема.
Первая страница.
<form action = "http://test/test.php" method="get">
HDD: <input type="text" name="HDD"/><br>
CDROM: <input type="text" name="CDROM"/><br>
<input type="submit"/>
Соответственно имеем два поля ввода и при нажатии на кнопку отправить переходим на test.php
http://test/test.php?HDD=a&CDROM=c
Если я правильно понимаю суть, то должны создаваться переменные $HDD и $CDROM с значениями, введенными на первой странице.
При попытке вывода в test.php
<?
echo ("<p>$HDD</p>");
echo ("<p>$CDROM</p>");
?>
не выводится ничего.
В чем ошибка?
Парни, мне вот нужно пхп внедрять в хмль, все советуют прогу DW но она у меня не устанавливается, хз по какой причине(вроде она запустилась но как только окно программы появляется оно тут же закрывается и пишет что этой программой нелья пользоваться!) вот, мб есть и другие программы не хуже этого Dreamweaver?
register_globals off
пиши $_GET['HDD'] и $_GET['CDROM']
Jino
есть такая директива как register_globals, так вот, когда она включена, то переменные ведут себя так как ты написал, т.е. регистрируются в начале, это не безопасно и дефолту везде выключено.
Нужно обращаться через суперглобальные массивы.
echo $_GET['HDD'];//get
echo $_POST['HDD1'];//post
MaTpOc Notepad
Небольшая поправка Notepad++ ;)
']Jino
есть такая директива как register_globals, так вот, когда она включена, то переменные ведут себя так как ты написал, т.е. регистрируются в начале, это не безопасно и дефолту везде выключено.
Нужно обращаться через суперглобальные массивы.
echo $_GET['HDD'];//get
echo $_POST['HDD1'];//post
Спасибо. Еще два вопроса:
Почему не безопасно когда включена директива register_globals?
Как я понял изначально переменные не регистрируются, а регистрируются при $_GET['название переменной']. Верно?
А вот еще один вопрос назрел :)
echo ("$_GET['HDD'] <br>");
Естественно это неправильно)
Как сделать перенос строки?
Почему не безопасно когда включена директива register_globals?
Ну вот например простейший пример с php.net
<?php
// define $authorized = true only if user is authenticated
if (authenticated_user()) {
$authorized = true;
}
// Because we didn't first initialize $authorized as false, this might be
// defined through register_globals, like from GET auth.php?authorized=1
// So, anyone can be seen as authenticated!
if ($authorized) {
include "/highly/sensitive/data.php";
}
?>
как мы видим для авторизации используется специальная функция, которая в случае успеха инициализирует переменную $authorized. При register_globals 1 мы похекаем всю эту авторизацию просто обратившись к скрипту script.php?authorized=1
Как я понял изначально переменные не регистрируются, а регистрируются при $_GET['название переменной']. Верно?
При запуске скрипта создаются суперглобальные массивы $_SERVER, $_GET, $_POST, $_COOKIES и др.
http://ua.php.net/manual/en/language.variables.superglobals.php
А вот еще один вопрос назрел :)
echo ("$_GET['HDD'] <br>");
Естественно это неправильно)
Как сделать перенос строки?
echo $_GET['HDD'].'<br/>';
Я вот щас на начальном этапе изучения пхп и хотел бы узнать поскорее, есть ли у пхп возможность допустим отрезать от строчки опред кол-во символов и потом конечный результат сложить в файл.txt?
Я вот щас на начальном этапе изучения пхп и хотел бы узнать поскорее, есть ли у пхп возможность допустим отрезать от строчки опред кол-во символов и потом конечный результат сложить в файл.txt?
конечно, http://ua.php.net/manual/ru/function.substr.php
']
как мы видим для авторизации используется специальная функция, которая в случае успеха инициализирует переменную $authorized. При register_globals 1 мы похекаем всю эту авторизацию просто обратившись к скрипту script.php?authorized=1
То есть, любой пользователь может присвоить любой переменное любое значение? Понятно.
Спасибо :)
всем БОЛЬШОЙ СОВЕТ не учите этот долбанный пхп
Реально он долбанный
ПОчему ? так всё там через ЖОПУ типично нестандартизированный
ПОчему ? так всё там через ЖОПУ типично нестандартизированный
Пару примеров в студию
всем БОЛЬШОЙ СОВЕТ не учите этот долбанный пхп
Реально он долбанный
ПОчему ? так всё там через ЖОПУ типично нестандартизированный
Долбаный ,Не долбанный, но если знать как его юзать и для чего, тогда все пучком.
ЗЫ: Больше половины интернета - PHP
ЗЫЫ: ЛУчше уж его, чем нчиего
ЗЫЫЫ: У каждого языка есть свои "изъяны" , по твоему взгляду, можно подумать, что лучше вообще тогда не писать
deniska1517
02.01.2009, 19:50
Мой вопрос:
какой должен быть код для айфрейма?
А причем тут пхп?
<iframe src ="http://test.com"></iframe>
Так примера и не дождались =\
Голословность и только
всем БОЛЬШОЙ СОВЕТ не учите этот долбанный пхп
Реально он долбанный
ПОчему ? так всё там через ЖОПУ типично нестандартизированный
мда...никому не советовал бы учить одновременно два языка програмирования!
Pashkela
02.01.2009, 20:35
php - мой любимый язык. На нем можно сделать практически всё, особенно если речь касается брута, взлома и etc.
php - мой любимый язык. На нем можно сделать практически всё, особенно если речь касается брута, взлома и etc.
А про поточность ты слыхал?!
Хм....я не стебусь,просто, реально, как можно взломать что-нибудь с помощью php ?
PS: Perl далеко ушел по поточности от пыхи
мда...никому не советовал бы учить одновременно два языка програмирования!
а как же C++ и PHP, думаю, один другому бы не помешал,вроде бы синтаксис очень отличается(в некотроых ситуациях), сложно будет попутать
Pashkela
02.01.2009, 20:38
Если речь о Erlang - то пока просто не пробовал, но думаю жесть. Просто пока руки не доходили.
всем БОЛЬШОЙ СОВЕТ не учите этот долбанный пхп
Реально он долбанный
ПОчему ? так всё там через ЖОПУ типично нестандартизированный
Обосрал? Будь добр, отстаивай свою точку зрения !
ЗЫ: я тоже могу сказать, что тяжело заряженный векторный базон - херня, и заткнуться....Жду твоего ответа, уж больно интересно
Как я жалею что нет Ребза...нафлудили в теме в которой только вопросы.Преды всем раздайте. del
Как я жалею что нет Ребза...нафлудили в теме в которой только вопросы.Преды всем раздайте. del
Если ты в этом не разбираешься, то для тебя это флуд, а сейчас мы выясняем, почему PHP - говно язык.
Лично для меня этот вопрос - не флуд, мне интересно узнать аргументы plazm`ы, но их нет, где тут флуд?
ЗЫ: Думаю, влпрос серьезный
ЗЗЫ: Флуд,это если бы я ответил плазме :"ГОАЛКТЕКО ОПАСНОТЕ МОЯ ПРИНЦЕСКО ОоооОоо!!1111двадва"
Вот это флуд. А сейчас серьезный вопрос стоит
Ну давайте не в этом разделe. :)
По теме, PHP хороший язык,особенно если знаеш курл(что я сейчас и дбиваюсь) и сокеты. :)
народ помогите плз, начал учить пхп, использую программу dreamweaver... когда в в блоке if else вывожу какой нить результат текстом получается примерно такое
Переменные не равны
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
у меня так и прописано что должна быть именно эта кодировка... может проблема в самом дримвьювере?
Значит сохраняешь не в utf-8, при сохранении ставь его (хз правда как там в нем это).
оно чот вообще кирилицы не принимает...... а как сохранить в utf-8
да всё спасибо вам, я выставил кодировку в дримвьювере и в опере, а то стояло автоматом...
Копирни весь текст из дримвивера,и сохрани нотепадом или блокнотом.
Пользуйся Блокнотом.
А лучше Notepad++ (http://forum.antichat.ru/threadnav99098-1-10.html).
Ну давайте не в этом разделe. :)
По теме, PHP хороший язык,особенно если знаеш курл(что я сейчас и дбиваюсь) и сокеты. :)
Я от него тоже безума, но не всем он хорош, а так , я его не брошу, уж лучше оттачивать одно,чем метаться :D
Вот и вопрос назрел,и я чтото не врублюсь что тут не правильно.Кто подскажет:
.....
$name = $_POST['login'];
if($name == ''){
exit();
}else{
foreach($name as $login){
......}
Открываем страницу - все норм,как только данные появляються в $name, то получаем:
v
Warning: Invalid argument supplied for foreach() in /var/www/vhosts/****.**/httpdocs/yand/index.php on line 19
Тоесть ошибко в моем фореаче,но вроде все чисто.В чем трабла?(
Зачем тут foreach?
$name никакой не массив ведь.
Pashkela
03.01.2009, 02:11
В том что это не массив, а переменная, где только одно значение, пусть и в несколько строк даже
Какже быть?Имееться ввиду,что данные в $name беруться из <textarea>
Какже быть?Имееться ввиду,что данные в $name беруться из <textarea>
$array = explode("\r\n", $_POST['login']);
astrologer
03.01.2009, 02:21
Какже быть?Имееться ввиду,что данные в $name беруться из <textarea> А поле так названо, чтобы никто не догадался или там действительно логин на несколько строк?
А ты знаеш зачем это поле? Нет? Может это брут логинов,раз не знаеш - в лес здуй.
\\Спасибо.
astrologer
03.01.2009, 02:37
Знал бы - не спрашивал. В разных осях разные разделители строк, поэтому нужно разбивать не по точной строке, а по маске.
Мне уже когдато подсказывал Енот,но я чтото подзабыл,да и искать во всей теме мне лень.... =)
Кто подскажет,как в if( ) сделать проверку сразу 2 переменных.
Было чтото врроде вот этого:
if($a == 0 || $b == 0 ||){
}
Я правильно написал,или чтото забыл?
|| - это лоическое или, && - это логическое и. запись правильная
Большое спасибо,уже понял. Тоесть можно использовать && заместо ||?
В таком случае,если написать & то получиться,что обе переменные должны одновремеенно устравивать условие? А не "или".?
|| - это лоическое или, && - это логическое и. запись правильная
if($a == 0 || $b == 0 ||){
}
это правильно ? смотри внимательно
Parse error: syntax error, unexpected ')'
m0Hze
вообще на ноль проверять лучше так
if($a===0) { /*...*/ }
в твоем примере условие будет истинным и при $a = '';
if($a === 0 || $b === 0){
}
Мне уже когдато подсказывал Енот,но я чтото подзабыл,да и искать во всей теме мне лень.... =)
Кто подскажет,как в if( ) сделать проверку сразу 2 переменных.
Было чтото врроде вот этого:
if($a == 0 || $b == 0 ||){
}
Я правильно написал,или чтото забыл?
вы меня извините но разве надо в проверке if писать в конце ||??? и обьясните пожалуста почему ноль проверяется тремя знаками равенства?
вы меня извините но разве надо в проверке if писать в конце ||??? и обьясните пожалуста почему ноль проверяется тремя знаками равенства?
1.В конце писать || не надо
2. "===" хз? хватило бы и "=="
Вместо этого :
if($a == 0 && $b == 0){ }
лучше написатьт так:
if($a+$b=0){ }
Или тебе нужно значение "ИЛИ" ?
ЗЫ:Пока писал,запутался
[dei] , а зачем "===" , я просто,чего-от не в курсе
--------------------------------
Насчет "==="
Вот пример из учебника:
http://www.softtime.ru/bookphp/gl2_1.php
astrologer
03.01.2009, 13:20
лучше написатьт так:
if($a+$b=0){ } Плохой совет.
Там должен быть оператор сравнения, а не присваивания, чтобы хоть как-то работало
$a = -5;
$b = 5;
$a = false;
$b = '';
$a = 0;
$b = null;
Плохой совет.
Там должен быть оператор сравнения, а не присваивания, чтобы хоть как-то работало
$a = -5;
$b = 5;
$a = false;
$b = '';
$a = 0;
$b = null;
Странно, но пример ,который ч првиел выше, указывается во всех учебниках. Я не оспариваю твое мнение, просто привожу пример
--
Ведь $a = int и $b= int , что нам мешает складывать их ?
deniska1517
03.01.2009, 13:51
А причем тут пхп?
<iframe src ="http://test.com"></iframe>
а если две кнопки, да и нет. когда жмёшь да - перенаправляет на один сайт, нет - на другой?
а если две кнопки, да и нет. когда жмёшь да - перенаправляет на один сайт, нет - на другой?
Какие кнопки?
Это не в эту тему вобще.
astrologer
03.01.2009, 14:01
Странно, но пример ,который ч првиел выше, указывается во всех учебниках. Я не оспариваю твое мнение, просто привожу пример
--
Ведь $a = int и $b = int , что нам мешает складывать их ? Даже если бы нам было известно, что это целые числа, то всё равно метод даёт сбой, если они - противоположные (равны по модулю и противоположны по знаку)
Даже если бы нам было известно, что это целые числа, то всё равно метод даёт сбой, если они - противоположные (равны по модулю и противоположны по знаку)
Об этом я и не подумал
У меня есть цикл который прокручивает массив...
На он прокручивает его сверху вниз, а как сделать чтоб он прокручивал снизц вверх?
while($res = mysql_fetch_assoc($explode_sql)){
echo $res['id'];
}
[dei] , а зачем "===" , я просто,чего-от не в курсе
для оператора сравнения == 0 эквивалентно "" (пустая строка, то есть FALSE)
поэтому скрипт выведет zero
$a='';
if($a==0) echo 'zero';
оператор === учитывает также и тип данных
Shadow_p1raT
03.01.2009, 16:17
Byrger давно с мускулём не работал,вроде это
http://php.su/functions/?mysql_fetch_row
Byrger давно с мускулём не работал,вроде это
http://php.su/functions/?mysql_fetch_row
Мне подходит очень хорошо
while($res = mysql_fetch_assoc($explode_sql)){
echo $res['id'];
}
Но прокручивает сверху вниз, а если так
while($res = mysql_fetch_row($explode_sql)){
echo $res['id'];
}
То id не появляется
while($res = mysql_fetch_row($explode_sql)){
echo $res['id'];
}
Здесь скорее всего $res[0]; т.е. номер ячейки в мускуль таблице начиная с нуля.
Shadow_p1raT
03.01.2009, 16:32
Блин,я тупанул.
while($res = mysql_fetch_array($explode_sql)){
echo $res['id'];
}
Блин,я тупанул.
while($res = mysql_fetch_array($explode_sql)){
echo $res['id'];
}
Странно прокручивает массив столько раз сколько строк в таблице но ячеёку ID не выводит....
А так-как я 1 раз писал всё выводится но не в том порядке в котором мне нужно
ЗЫ. Пробовал в MySQL менять порядок, не помогло
=) опять я =)
Собственно вот скрипт,,делаю на примере прокси-граббера.
$host = "http://proxylists.net/http_highanon.txt";
$exec = file_get_contents($host);
$result = preg_match('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $exec, $res);
print_r($res);
По идее,все работает как нужно,кроме одного,в масиве оказываються только первая прокси,остальные прег_матчем игнорируються.Нужно сунуть в массив все прокси награбленные со страницы.
=) опять я =)
Собственно вот скрипт,,делаю на примере прокси-граббера.
$host = "http://proxylists.net/http_highanon.txt";
$exec = file_get_contents($host);
$result = preg_match('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $exec, $res);
print_r($res);
По идее,все работает как нужно,кроме одного,в масиве оказываються только первая прокси,остальные прег_матчем игнорируються.Нужно сунуть в массив все прокси награбленные со страницы.
http://php.net/preg_match_all
Byrger Все функции для обработки полученного результата читают построчно, в том порядке, в котором возвращает строки мускуль. Поэтому добавьте в конец запроса ORDER BY `id` DESC - чтобы отсортировать в обратном порядке по столбцу id
Такс,вот написал просто прокси граббер,но почимуто он отказываеться работать.Точнее работает,но вижу белый экран,хотя прокси есть по адресам граббинга.В общем вот,смотрите сами:
<?
$proxylist = "prox_list.txt";
$list = file($proxylist);
foreach($list as $link){
$host = parse_url($link);
$cl = curl_init("$link");
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://'.$host[host].'/');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_POST, 1);
curl_setopt($cl, CURLOPT_POSTFIELDS, $post);
$exec = curl_exec($cl);
curl_close($cl);
}
$result = preg_match_all('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $exec, $res);
foreach($res[0] as $val) { echo $val.'<br>'; };
?>
prox_list.txt:
http://proxylists.net/http_highanon.txt
http://www.proxylist.com.ru
http://www.proxyleech.com/proxylist.txt
http://www.freeproxy.ch/proxy.txt
http://freeproxies.biz/proxies.html
В чем трабло..?
m0Hze<?
$proxylist = "prox_list.txt";
$list = file($proxylist);
foreach($list as $link){
$host = parse_url($link);
$cl = curl_init("$link");
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://'.$host['host'].'/'); // Добавить кавычки вокруг host
// Убрать
//curl_setopt($cl, CURLOPT_HEADER, 0);
//curl_setopt($cl, CURLOPT_POST, 1);
//curl_setopt($cl, CURLOPT_POSTFIELDS, $post);
$exec = curl_exec($cl);
curl_close($cl);
// Переместить внутрь цикла
$result = preg_match_all('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $exec, $res);
foreach($res[0] as $val) { echo $val.'<br>'; };
}
?>
Так вся проблема в общем то была в цикле? Чтоб тебя,а зачем там цикл то?Яж уже закрыл курл,тоесть результ то есть цикличный вроде.
you forgot trim()
<?php
$proxylist = "prox_list.txt";
$list = file($proxylist);
foreach($list as $link){
$link=trim($link);
$host = parse_url($link);
$cl = curl_init($link);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://'.$host['host'].'/');
$exec = curl_exec($cl);
curl_close($cl);
preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3 }:\d{1,5}#', $exec, $res);
foreach($res[0] as $val) { echo $val.'<br>'; }
}
?>
хм,дей а че ето ты с какого акка) :) Всем спс. + тукнул.
m0Hze Я выделил в чем проблема - кавычки (ошибка интерпретатора), пост запрос (пустой да и ненужный) и цикл (каждый раз переменная $exec перезаписывалась и вывод был бы только для последнего сайта из списка)
Вот,все спасибо.Теперь буду знать. =)
ы ) всё, решил) ошибся в название файла
хз,у меня вот нахампе работает так:
<?
$text = 'Привет,я скрипт PHP!';
?>
<?
include('test.php');
echo $text;
?>
Вроде работает нормально.
Опередил :)
Сейчас наверно задам вопрос который раз 1000 обсуждался :)
Многопоточность PHP, как? Ведь так будеет намного быстреее парсить например 100 страниц...и т.д. Где почитать,сложно ли реализовать7
и сразу же,пока не забыл!
Что будет работать быстрее,для плолучения страницы? cURL,file_get_contents,сокеты? Чем бустрее будет все это провернуть? И меенне нагрузку на сервер чтоб наносил скрипт.
Сейчас наверно задам вопрос который раз 1000 обсуждался :)
Многопоточность PHP, как? Ведь так будеет намного быстреее парсить например 100 страниц...и т.д. Где почитать,сложно ли реализовать7
[Не ту ссылку дал )]
PS: думаю,для получения страницы разницы нету ИМХО. Смотря ,что ты имешь пол словом "получить"
Смотрим
Есть скрипт,который граббит прокси.Есть файл,с адресами сайтов,с проксями.Сайтов,ну пускай 100. На сервере,через курл,получение каждой страницы,затем выдерание проксей,идет долго.Оч долго яб сказал.Поэтому спрашиваю,если я буду получать теже страницы сокетами,или простым филе_гет,скорость улучшиться?
-Про многопоточность почитал.ЭТАПЯзддец.Воть....в опщем пока не буду суваца....
Смотрим
Есть скрипт,который граббит прокси.Есть файл,с адресами сайтов,с проксями.Сайтов,ну пускай 100. На сервере,через курл,получение каждой страницы,затем выдерание проксей,идет долго.Оч долго яб сказал.Поэтому спрашиваю,если я буду получать теже страницы сокетами,или простым филе_гет,скорость улучшиться?
-Про многопоточность почитал.ЭТАПЯзддец.Воть....в опщем пока не буду суваца....
Нет. Будет быстрее если переписать на перл.
prescott
04.01.2009, 01:06
Нет. Будет быстрее если переписать на перл.
Не факт. В данном случае многое зависит от программиста.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot