|
|
|
| Ситуация...надо тупо передать данные методом POST в обработчик...вроде бы просто, еслиб обработчик был бы отдельно.....а в моем случае обработчик и форма в одном файле...непонимаю((( ткните носом....вот код формы
p/s вот только недавно взялся за сокеты
<tr><td><B>Username:</B></td><td align=left><input type="text" size=40 name="username" /></td></tr>
<tr><td><B>Password:</B></td><td align=left><input type="password" size=40 name="password" /></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Login" class=btn>
|
помогите....
быля мысле что надо рефера подделать..делал но результат = 0( | |
|
|
|
|
|
|
|
для: Alph[p]a
(23.04.2007 в 22:15)
| | Где тег <form> ? | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2007 в 22:18)
| | да это просто забыл)
<form method="post" action="account-login.php">
<div align="center">
<table border="0" cellpadding=5>
<tr><td><B>Username:</B></td><td align=left><input type="text" size=40 name="username" /></td></tr>
<tr><td><B>Password:</B></td><td align=left><input type="password" size=40 name="password" /></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Login" class=btn><BR><BR><i>Cookies MUST be enabled for you to login.</i></td></tr>
</table>
</div>
</form>
|
| |
|
|
|
|
|
|
|
для: Alph[p]a
(23.04.2007 в 22:40)
| | А где обработчик? (хотя бы те строки которыми вы принимаете данные?) | |
|
|
|
|
|
|
|
для: Valick
(23.04.2007 в 22:43)
| | да это все дело не на локалхосте..на сайте форма..надо с помощью сокетов кинуть данные в обработчик... | |
|
|
|
|
|
|
|
для: Alph[p]a
(23.04.2007 в 22:46)
| | ... а в моем случае обработчик и форма в одном файле...непонимаю(((
Я тогда тоже не понимаю)), я тоже учусь как и вы, только вы задаёте вопрос, а я пытаюсь на него ответить. | |
|
|
|
|
|
|
|
для: Valick
(23.04.2007 в 22:50)
| | ну чувак мож я и туплю сильно....но я не знаю как объянить лучше........(
дано
1. Сайт с формой страница - account-login.php - там форма.
2. account-login.php - там же обработчик.
3. мне надо через сокеты обратиться к серваку...ну минуя форму через скрипт как бы передать в часть обработки имя и пароль чтоб войти в систему... | |
|
|
|
|
|
|
|
для: Alph[p]a
(23.04.2007 в 22:58)
| | Теперь всё понятно более чем :) | |
|
|
|
|
|
|
|
для: Alph[p]a
(23.04.2007 в 22:15)
| |
<form aсtion="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="POST">
|
p/s поздравляю, а при чём тут сокеты? | |
|
|
|
|
|
|
|
для: Valick
(23.04.2007 в 22:40)
| |
<?
global $username,$password,$auth,$stop;
if(isset($stop)){
if($stop == "1"){
echo"Вы не заполнили поля!";
}elseif($stop==2){
echo"Введый Вами пароль не верный";
}elseif($stop==3){
echo "Такого имени нет!";
}elseif($stop==4){
echo"В доступе отказано!";
}
?>
<form method="post" action="account-login.php">
<div align="center">
<table border="0" cellpadding=5>
<tr><td><B>Username:</B></td><td align=left><input type="text" size=40 name="username" /></td></tr>
<tr><td><B>Password:</B></td><td align=left><input type="password" size=40 name="password" /></td></tr>
<tr><td colspan="2" align="center"><input type="hidden" name="auth" value="1"><input type="submit" value="Login" class=btn><BR><BR><i>Cookies MUST be enabled for you to login.</i></td></tr>
</table>
</div>
</form>
<?php
if(isset($auth)){
$username=htmlspecialchars(stripslashes($username));
$password = htmlspecialchars(md5($password));
$sql = mysql_query("SELECT username,password FROM users WHERE username='$username'");
list($users,$pass) = mysql_fetch_array($sql);
if(empty($username) | | empty($password)){
Header("Location:account-login.php?stop=1");
}elseif($password != $pass){
Header("Location:account-login.php?stop=2");
}elseif($username != $users){
Header("Location:account-login.php?stop=3");
}elseif($password==$pass && $username==$users){
Header("Location:бла бла бла");
setcookie("бла бла бла !");
}else{
Header("Location:account-login.php?stop=4");
}
}
?>
|
Такой скрипт писал на гостевую книгу..... | |
|
|
|
|
|
|
|
для: acdcee
(23.04.2007 в 23:00)
| | 2acdcee совсем не то....блин походу никто не понимает...((((((((((
p/s форму менять нельзя....она не у меня...она где то там на серваке.......) | |
|
|
|
|
|
|
|
для: Alph[p]a
(23.04.2007 в 23:06)
| | вроде бы просто, еслиб обработчик был бы отдельно.....а в моем случае обработчик и форма в одном файле
А что у Вас не получается? | |
|
|
|
|
|
|
|
для: Unkind
(23.04.2007 в 23:14)
| | Просто и форма и обработчик "чужие" и надо там зарегиться при помощи сокетов с другого сервака. (2Альфа - я правильно понял?) | |
|
|
|
|
|
|
|
для: Valick
(23.04.2007 в 23:17)
| | Valick
вроде бы просто, еслиб обработчик был бы отдельно | |
|
|
|
|
|
|
|
для: Unkind
(23.04.2007 в 23:33)
| | Согласен, что отдельно, что вместе - разницы никакой. | |
|
|
|
|
|
|
|
для: Valick
(23.04.2007 в 23:42)
| | ну что здесь неправильно?
<?php
// Текст
$text='';
// Цель
$hostname = "site.ru";
$path = "/account-login.php";
// Соединяемся
$open=fsockopen ('site.ru', 80, $errno, $error);
if (!$open) echo 'Ошибка Соединения';
else
{
// Данные которые отправляем
$data ="username=".urlencode("xxx")."&password=".urlencode("xxx")."\r\n\r\n";
$headers = "GET $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Referer: http://".$hostname.$path."\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n";
$headers .= "Connection: Close\r\n\r\n";
// Отправляем
fwrite ($open,$headers);
// fwrite ($open,$headers.$data);
// Получаем и читаем ответ
while (!feof($open))
{
$text.=fgets($open,1024);
}
fclose($open);
}
echo $text;
?>
|
вот так вообще не отправляет..а если убрать
$headers .= "Content-Length: ".strlen($data)."\r\n";
|
то отправляет но результат нулевой...ну тоесть грузиться обратно страница с формой ввода...( там серв должен мне куки дать чтоб я смог дальше работать.....помогите люди.
да и выплёвывает мне эти заголовки
HTTP/1.1 200 OK Date: Tue, 24 Apr 2007 11:45:53 GMT Server: Apache/2.0.59 (FreeBSD) PHP/4.4.4 with Suhosin-Patch X-Powered-By: PHP/4.4.4 Set-Cookie: uid=null; expires=Tue, 24 Apr 2007 11:45:53 GMT; path=/ Set-Cookie: pass=null; expires=Tue, 24 Apr 2007 11:45:53 GMT; path=/ Content-Length: 4151 Connection: close Content-Type: text/html; charset=windows-1251 Content-Language: ru
site.ru
|
| |
|
|
|
|
|
|
|
для: Alph[p]a
(24.04.2007 в 15:47)
| | Здесь неправильно считается длина передаваемых данных, и вероятно, неправильно выбирается версия протокола. | |
|
|
|
|
|
|
|
для: Alph[p]a
(24.04.2007 в 15:47)
| | fwrite ($open,$headers.$data); | |
|
|
|
|
|
|
|
для: Unkind
(24.04.2007 в 16:19)
| | Unkind - непомогло...я так делал...
2Trianon - а как надо правильно считать? | |
|
|
|
|
|
|
|
для: Alph[p]a
(24.04.2007 в 16:25)
| | Смените протокол на HTTP/1.0. | |
|
|
|
|
|
|
|
для: Unkind
(24.04.2007 в 16:28)
| | сменил....непомогло...( | |
|
|
|
|
|
|
|
для: Alph[p]a
(24.04.2007 в 16:25)
| | без учета терминирующих CRLF
и наконец, выбран метод, не соответствующий форме. | |
|
|
|
|
|
|
|
для: Trianon
(24.04.2007 в 16:47)
| | а какой метод...а код привести можеш а то ч0то я размыто понимаю о ч0м ты говоришь) | |
|
|
|
|
|
|
|
для: Alph[p]a
(24.04.2007 в 17:16)
| | В форме указан метод POST: method="post".
А Вы посылаете данные методом GET: $headers = "GET $path HTTP/1.1\r\n";
Замените на $headers = "POST $path HTTP/1.1\r\n"; | |
|
|
|
|
|
|
|
для: Unkind
(24.04.2007 в 21:30)
| | HTTP/1.0 !!!!!!!!!! | |
|
|
|
|
|
|
|
для: Trianon
(24.04.2007 в 21:39)
| | Я просто скопировал :)) | |
|
|
|
|
|
|
|
для: Unkind
(24.04.2007 в 21:44)
| | Ага. мотороллер не твой.
Зла не хватает. | |
|
|
|
|
|
|
|
для: Unkind
(24.04.2007 в 21:30)
| | Unkind большое спасибо ... открыл глаза на мою глупость) теперь все доходит токо говорит что пасс неверный но это уже моя проблема...)хотя пишу вроде правильный...)))
Trianon спасибо тоже...насч0т http 1.0 тоже помогло..) | |
|
|
|