ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #6161  
Старый 11.11.2008, 00:23
PEPSICOLA
Познавший АНТИЧАТ
Регистрация: 14.10.2004
Сообщений: 1,162
С нами: 11353286

Репутация: 2944


По умолчанию

Цитата:
Сообщение от Gifts  
PEPSICOLA,

$_POST['name'] всегда будет установлена, хоть и пуста при отправке формы, а значит isset будет возвращать true. Тут надо использовать функцию empty($_POST['name'])
Спасибо мэн!
 
Ответить с цитированием

  #6162  
Старый 11.11.2008, 00:33
cash$$$
Banned
Регистрация: 06.01.2008
Сообщений: 413
С нами: 9655526

Репутация: 1334
По умолчанию

Попробуй так

feedback.php

PHP код:
<form action="ughsout.php" method="post">
<!-- DO NOT change ANY of the php sections -->
<?php
$ipi 
= getenv("REMOTE_ADDR"); 
$httprefi = getenv ("HTTP_REFERER");
$httpagenti = getenv ("HTTP_USER_AGENT");
?>
<input type="hidden" name="ip" value="<?php echo $ipi ?>" />
<input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
<input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
<h2 align="center">Feedback Form</h2>
<p>
All input is blah blah ...... </p>
<p>Send Data to: <select name="attn" size="1">
<option value=" MT General Email ">General Email</option>
<option value=" MakeTemplate Owner ">Owner of MakeTemplate</option>
<option value=" Technical Support ">Technical Support</option>
<option value=" PHP Codemaster ">PHP Codemaster</option>
</select>
<br />
Name: <input type="text" name="nameis" size="20" /> Email:<input type="text" name="visitormail" size="20" />


<br/> Overall Rating:<br/> [<input checked="checked" name="rating" type="radio" value="good" /> Good]   [<input name="rating" type="radio" value="bad" /> Bad]   [<input name="rating" type="radio" value="ugly" /> Ugly] 
</p>
<p> Request additional features for a feedback tutorial:<br /> 
<input type="checkbox" name="emailvalidation" value="y" /> Email 'format' Validation - check @<br /> 
<input type="checkbox" name="fieldvalidation" value="y" /> Required Form Field Validation.<br />
<input type="checkbox" name="htmlcontrol" value="y" /> More intergratd HTML (in form).<br />
<input type="checkbox" name="phpform" value="y" /> Improved PHP form script generator.<br />
<input type="checkbox" name="htmlform" value="y" /> A complete HTML form generator. <br />
</p>
<br />
<h3 align="center">General Comments</h3> 
<p align="center">
<textarea name="feedback" rows="6" cols="30">Notes n comments here</textarea>
</p>
<hr />
<p align="center">
<input type="submit" value="Submit Feedback" />
</p>

</form>
feedout.php

PHP код:
<h3 align="center">Thanks for your Feedback </h3>
<!-- VIP: change YourEmail to your real email -->

<?php 

$ip 
= $_POST['ip'];
$httpagent = $_POST['httpagent'];
$httpref = $_POST['$httpref'];
$nameis = $_POST['nameis']; 
$visitormail = $_POST['visitormail']; 
$feedback = $_POST['feedback']; 
$rating = $_POST['rating'];
$emailvalidation = $_POST['emailvalidation']; 
$fieldvalidation = $_POST['fieldvalidation']; 
$htmlcontrol= $_POST['htmlcontrol']; 
$phpform = $_POST['phpform']; 
$htmlform = $_POST['htmlform'];
$attn = $_POST['attn']; 

if (
eregi('http:', $feedback)) { die ("Do NOT try that! ! "); } 

if((!
$visitormail == "") && (!strstr($visitormail,"@") || !strstr($visitormail,"."))) 
{
echo 
"<h2>Use Back - Enter valid e-mail</h2>\n";
$tellem = "<h2>Feedback was NOT submitted</h2>\n";
}

if(empty(
$nameis) || empty($feedback) || empty($visitormail)) {
echo 
"<h2>Use Back - fill in all fields</h2>\n";
}

echo 
$tellem;

if (
$emailvalidation == "y") { 
$req1 = "Email format Validation \n" ; 
}

if (
$fieldvalidation == "y") {
$req2 = "Required Form Field Validation \n";
}
if (
$htmlcontrol == "y") {
$req3 = "More intergratd HTML (in form) \n";
}
if (
$phpform == "y") {
$req4 = "Improved PHP form script generator \n";
}
if (
$htmlform == "y") {
$req5 = "A complete HTML form generator \n";
}
$req = $req1 . $req2 . $req3 . $req4 . $req5;

$todayis = date("l, F j, Y, g:i a") ;

$attn = $attn; 
$subject = $attn; 

$feedback = stripcslashes($feedback);

$message = " $todayis [EST] \n 
Attention: 
$attn (Rating: $rating) \n 
From: 
$nameis ($visitormail)\n
Requested:
$req \n
Feedback: 
$feedback \n
Additional Info : IP = 
$ip \n 
Browser = 
$httpagent \n
Referral = 
$httpref
"
;

$from = "From: $visitormail\r\n";

mail("YourEmail", $subject, $message, $from);


$screenout = str_replace("\n", "<br/>", $message);
?>


<p align="center">

<?php echo $screenout ?>

</p>
 
Ответить с цитированием

  #6163  
Старый 11.11.2008, 01:40
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

cash$$$ с таким feedout.php ты сразу получаешь xss'ку, если зайдешь на сформированую мной страницу. Если скрипт известный - не поделишься названием?

eregi - много медленне preg_match

Последний раз редактировалось Gifts; 11.11.2008 в 02:09..
 
Ответить с цитированием

  #6164  
Старый 11.11.2008, 02:08
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
С нами: 10008797

Репутация: 398
По умолчанию

помогите разобрать регулярку

PHP код:
$temp = '<img id="imgbutton44930794" class="playimg" src="images/play.gif" nosorthandle="true" onclick="return operate(44930794,1620,20326154,\'dd80d5202151\',0);"/>';

preg_match_all("/return operate(.?,(.*),(.*),'(.*)',.?);\"/i", $temp, $parsed);  //Выбираем ссылки  

print_r($parsed); 
return operate(44930794,1620,20326154,\'dd80d5202151\',0);
интересует как перепарсить груду кода, удалить все лишнее и оставить только линки

Последний раз редактировалось PandoraBox; 11.11.2008 в 02:14..
 
Ответить с цитированием

  #6165  
Старый 11.11.2008, 02:11
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

PandoraBox, что значит разобрать?

Регулярка кстати не правильная, надо:
PHP код:
preg_match_all("/return operate(.*,(.*),(.*),'(.*)',.*);\"/Usi", $temp, $parsed); 
А еще лучше:
PHP код:
preg_match_all("/return operate(\d*,(\d*),(\d*),'(\d*)',\d*);\"/Ui", $temp, $parsed); 

Последний раз редактировалось Gifts; 11.11.2008 в 02:21..
 
Ответить с цитированием

  #6166  
Старый 11.11.2008, 02:11
[x26]VOLAND
Постоянный
Регистрация: 07.06.2006
Сообщений: 556
С нами: 10487846

Репутация: 2702


По умолчанию

Цитата:
$_POST['name'] всегда будет установлена, хоть и пуста при отправке формы, а значит isset будет возвращать true. Тут надо использовать функцию empty($_POST['name'])
Если name - строка, то корректнее проверять $_POST['name'] === '' , ибо emtpy возвращает false, если например name имеет значение '0'...
 
Ответить с цитированием

  #6167  
Старый 11.11.2008, 04:59
UnPazz
Участник форума
Регистрация: 30.08.2008
Сообщений: 128
С нами: 9314823

Репутация: 106
По умолчанию

Запрос:
PHP код:
mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('login', 'user', '5'), 'user', 'user', '5');"); 
Как в строчку
PHP код:
VALUES ('$login', '$user', '5') 
вместо login и user вставить переменные $login и $user ?
p.s: сколько не пытался ошибка синтаксиса.
 
Ответить с цитированием

  #6168  
Старый 11.11.2008, 05:21
Extremal
Познающий
Регистрация: 21.06.2006
Сообщений: 74
С нами: 10467109

Репутация: 222
По умолчанию

2UnPazz
PHP код:
VALUES ('login', 'user', '5') 
Получаеться примерно так если правильно тебя понял:

PHP код:
VALUES ('.$login.', '.$user.', '5') 

Последний раз редактировалось Extremal; 11.11.2008 в 05:25..
 
Ответить с цитированием

  #6169  
Старый 11.11.2008, 05:32
bombeg
Участник форума
Регистрация: 27.10.2008
Сообщений: 244
С нами: 9231271

Репутация: 428
По умолчанию

PHP код:
 mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('{$login}', '{$user}', 5)"); 
 
Ответить с цитированием

  #6170  
Старый 11.11.2008, 05:35
bombeg
Участник форума
Регистрация: 27.10.2008
Сообщений: 244
С нами: 9231271

Репутация: 428
По умолчанию

Цитата:
Сообщение от [x26]VOLAND  
Если name - строка, то корректнее проверять $_POST['name'] === '' , ибо emtpy возвращает false, если например name имеет значение '0'...
все верно он сказал. имени 0 не бывает. в данном случае эта корректировка значения не имеет.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.