[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 500 ошибка из-за чего?(
Гость_Pomaska
Всем привет... сделал скрипт регистрации, после перехода на страницу _reg3.php с _reg2.php вылезает ошибка 500(((

вот код _reg3.php
<?php
$con = mysql_connect("***","counter-strike","***");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("counter-strike", $con);
$sql="INSERT INTO users (id, login, pass, e-mail, pol, vozrast, activ)
VALUES
(NULL,'
$_GET[login]','$_GET[pass]','$_GET[e-mail]','$_GET[pol]','$_GET[vozrast]','0')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Вы успешно зарегистрировались!";
$result = mysql_query("SELECT * FROM `users` WHERE login='$_GET[login]' and pass='$_GET[pass]'");

while($row = mysql_fetch_array($result))
{$row[id]=$id;}
$theme = 'Регистрация';
$text = ("Здравствуйте, ".$_GET[login].",
Вы зарегестрировались на нашем ресурсе: "
.$host."
Ваш id "
.$id."
Ваш ник "
.$_GET[login]."
Ваш пароль "
.$_GET[pass]."
Ваш пол "
.$_GET[pol]."
Ваш возраст "
.$_GET[vozrast]."
==================================================================
Ваша ссылка на активацию аккаунта
"
.$host."login/activate.php?id=".$id."&login=".$_GET[login]."
==================================================================
Спасибо за регистрацию,
С ув. Администрация CS-GTP
Наш e-mail Pomaska@mail.ru
"
);
$mail = $_GET[e-mail];
if(mail($mail,$theme,$text)){echo ("На ".$mail." отправлено письмо с дальнейшими инструкциями!");}
else {DIE('письмо на емейл не отправилось... напишите ка админу на Pomaska@mail.ru');}
mysql_close($con);
?>


а вот код _reg2.php:
<?
if($_GET['reg']== '0') { echo ("Ну значит иди на другой портал, и там соглашайся с их правилами.. <br>
МЫ ОБИДЕЛИСЬ!!! XD"
);}
else { echo("

<form action='_reg3.php' method='GET'>
<table><tr><td>Ваш логин</td><td>
<input type='text' name='login'></td></tr>
<tr><td>Ваш пароль</td><td>
<input type='text' name='pass'></td></tr>
<tr><td>Ваш e-mail</td><td>
<input type='text' name='e-mail'></td></tr>
<tr><td>Ваш пол</td><td>
<select name='pol'><option value='Гибрид'>Гибрид</option><option value='Мужской'>Мужской</option><option value='Женский'>Женский</option></select></td></tr>
<tr><td>Ваш возраст</td><td>
<input type='text' name='vozrast'></td></tr>
<tr><td>
<input type='submit' value='Продолжить'></form></td><td></td></tr></table>
"
);}?>




Спустя 14 минут, 14 секунд (1.09.2010 - 19:08) Winston написал(а):
Вместо:
$con = mysql_connect("***","counter-strike","***");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

Пиши
$con = mysql_connect("***","counter-strike","***") or die('Could not connect: ' . mysql_error());

Это крывой запрос, прямая дорога к SQL-injection
Цитата (Гость_Pomaska @ 1.09.2010 - 17:54)
$sql="INSERT INTO users (id, login, pass, e-mail, pol, vozrast, activ)
VALUES
(NULL,'$_GET[login]','$_GET[pass]','$_GET[e-mail]','$_GET[pol]','$_GET[vozrast]','0')";

Писать так надо:

$sql="INSERT INTO `users`
(`login`, `pass`, `e-mail`, `pol`, `vozrast`, `activ`)
VALUES
('"
. mysql_real_escape_string($_GET['login']) ."',
'"
.md5($_GET['pass']) ."',
'"
. mysql_real_escape_string($_GET['e-mail']) ."',
'"
. mysql_real_escape_string($_GET['pol']) ."',
'"
. mysql_real_escape_string($_GET['vozrast']) ."',
'"
. (int)0 ."')";

Тоже кривой запрос:
$result = mysql_query("SELECT * FROM `users` WHERE login='$_GET[login]' and pass='$_GET[pass]'");

Значения в скобках $row[id] берётся в апострофы или кавычки $row['id']

Спустя 8 минут, 34 секунды (1.09.2010 - 19:17) Гость_Pomaska написал(а):
а мне кажется ошибка именно тут, просто у меня есть ещё страницы, с добавлениями файлов и я код от туда копировал, а там всё работает...
вот ошибка (мне кажется) :
while($row = mysql_fetch_array($result))
{$row[id]=$id;}

Спустя 2 минуты, 50 секунд (1.09.2010 - 19:20) Winston написал(а):
Напиши так:
while($row = mysql_fetch_assoc($result))
$row['id'] = $id;

Спустя 1 минута, 29 секунд (1.09.2010 - 19:21) Гость_Pomaska написал(а):
Спасибо, сейчас я посмотрю и отвечу примерно мин через 20-30....

Спустя 1 минута, 30 секунд (1.09.2010 - 19:23) Гость_Pomaska написал(а):
всё равно такая же тема...((((((((
ладно, позже разберусь какнибудь)) попробую точнее))) ты приходи через пол часа)))

Спустя 23 минуты, 17 секунд (1.09.2010 - 19:46) Guest написал(а):
может вот это попробовать заменить?(((
$result = mysql_query("SELECT * FROM `users` WHERE login='$_GET[login]' and pass='$_GET[pass]'");

while($row = mysql_fetch_array($result))
{$row[id]=$id;}

Спустя 18 минут (1.09.2010 - 20:04) Winston написал(а):
Может так?
Свернутый текст
<?php
$con = mysql_connect("***","counter-strike","***") or die('Could not connect: ' . mysql_error());
mysql_select_db("counter-strike", $con);

if (isset($_POST['go']))
{
$sql="INSERT INTO `users`
(`login`, `pass`, `e-mail`, `pol`, `vozrast`, `activ`)
VALUES
(
'"
. mysql_real_escape_string($_GET['login']) ."',
'"
.md5($_GET['pass']) ."',
'"
. mysql_real_escape_string($_GET['e-mail']) ."',
'"
. mysql_real_escape_string($_GET['pol']) ."',
'"
. mysql_real_escape_string($_GET['vozrast']) ."',
'"
. (int)0 ."'
)"
;
$result = mysql_query($sql) or die('Error: '. mysql_error());
if ($result)
header('Location: '. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); exit;
}

$query = mysql_query("SELECT * FROM `users` WHERE `login`='" . $_GET['login'] ."' and `pass`='". $_GET['pass'] ."'");
$row = mysql_fetch_assoc($query)
$id = $row['id'];
$theme = 'Регистрация';

$text = (" Здравствуйте, ".$_GET['login'].",
Вы зарегестрировались на нашем ресурсе: "
.$host."
Ваш id "
.$id."
Ваш ник "
.$row['login']"
Ваш пароль "
.$row['pass']."
Ваш пол "
.$row['pol']."
Ваш возраст "
.$row['vozrast']."
==================================================================
Ваша ссылка на активацию аккаунта
"
.$host."login/activate.php?id=".$id."&login=".$row['login']."
==================================================================
Спасибо за регистрацию,
С ув. Администрация CS-GTP
Наш e-mail Pomaska@mail.ru
"
);
$mail = $row['e-mail'];
if(mail($mail,$theme,$text))
echo ("На ".$mail." отправлено письмо с дальнейшими инструкциями!");

else
die('письмо на емейл не отправилось... напишите ка админу на Pomaska@mail.ru');}
mysql_close($con);
?>

Спустя 37 минут, 12 секунд (1.09.2010 - 20:41) Guest написал(а):
[Wed Sep 01 21:39:05 2010] [error] [client 79.142.91.37] PHP Parse error: parse error, expecting `']'' in D:\\doc\\sait\\htdocs\\asdasdas\\htdocs\\login\\_reg3.php on line 20, referer: http://79.142.91.37/htdocs/asdasdas/htdocs..._reg2.php?reg=1
[Wed Sep 01 21:39:08 2010] [error] [client 79.142.91.37] PHP Fatal error: Call to undefined function imagecreatefrompng() in D:\\doc\\sait\\htdocs\\asdasdas\\htdocs\\mon\\image.php on line 48, referer: http://79.142.91.37/htdocs/asdasdas/htdocs/login/?mode=reg

'nj kjub/// f yf cnhjrt 20
^

yf dnjhjq kju yt cvjnhbnt - 'nj rfhnbyrf vjybnjhbyuf vjtuj cthdthf//// rfr njulf ,eltn ghfdtkmyj pfgbcfnm yf cnhjrt 20&

Спустя 5 минут, 51 секунда (1.09.2010 - 20:47) Guest написал(а):
блин... на строке 20 как раз
$sql="INSERT INTO users (id, login, pass, e-mail, pol, vozrast, activ)
VALUES
(NULL,'
$_GET[login]','$_GET[pass]','$_GET[e-mail]','$_GET[pol]','$_GET[vozrast]','0')";


а именно

(NULL,'$_GET[login]','$_GET[pass]','$_GET[e-mail]','$_GET[pol]','$_GET[vozrast]','0')";

Спустя 7 минут, 9 секунд (1.09.2010 - 20:54) Winston написал(а):
Ты этот код оставил ?
$sql="INSERT INTO users (id, login, pass, e-mail, pol, vozrast, activ)
VALUES
(NULL,'$_GET[login]','$_GET[pass]','$_GET[e-mail]','$_GET[pol]','$_GET[vozrast]','0')"
;


Вместо метода GET используй POST для регистрации.

Спустя 5 минут, 53 секунды (1.09.2010 - 21:00) Гость_pomaska написал(а):
я оба пробовал...

ща попробую регу с постом....
ща отпишусь как получилось....

ппц, ещё и на мой акк не заходит((

Спустя 1 минута, 27 секунд (1.09.2010 - 21:01) Гость_pomaska написал(а):
хмм.. а я GET вообще правельно пишу?)))

ща сверил коды, а там реально post
mysql_select_db("counter-strike", $con);
$sql="INSERT INTO files (id, ssilka, name, opisanie, tip, razmer)
VALUES
(NULL,'
$_POST[ssilka]','$_POST[name]','$_POST[opisanie]','$_POST[tip]','$_POST[razmer]')";

Спустя 3 минуты, 27 секунд (1.09.2010 - 21:05) Winston написал(а):
wacko.gif тьфу unsure.gif я сам провтыкал что из разных массивов достаётся.

Спустя 1 минута, 50 секунд (1.09.2010 - 21:07) зщьфылф написал(а):
[Wed Sep 01 22:04:16 2010] [error] [client 79.142.91.37] PHP Parse error: parse error, expecting `']''


вот что означает вот это:
expecting `']''

вторые ковычки - это две одинарных ковычки..

Спустя 5 минут, 24 секунды (1.09.2010 - 21:12) Winston написал(а):
Запустил у себя... нашел ошибки, исправил, у меня работает
Свернутый текст
<?php
$con = mysql_connect("***","counter-strike","***") or die('Could not connect: ' . mysql_error());
mysql_select_db("counter-strike", $con);

if (isset($_POST['go']))
{
$sql="INSERT INTO `users`
(`login`, `pass`, `e-mail`, `pol`, `vozrast`, `activ`)
VALUES
(
'"
. mysql_real_escape_string($_GET['login']) ."',
'"
.md5($_GET['pass']) ."',
'"
. mysql_real_escape_string($_GET['e-mail']) ."',
'"
. mysql_real_escape_string($_GET['pol']) ."',
'"
. mysql_real_escape_string($_GET['vozrast']) ."',
'"
. (int)0 ."'
)"
;
$result = mysql_query($sql) or die('Error: '. mysql_error());
if ($result)
header('Location: '. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); exit;
}

$query = mysql_query("SELECT * FROM `users` WHERE `login`='" . $_GET['login'] ."' and pass='". $_GET[pass] ."'");
$row = mysql_fetch_assoc($query);
$id = $row['id'];
$theme = 'Регистрация';

$text = (" Здравствуйте, ".$_GET['login']."
Вы зарегестрировались на нашем ресурсе: "
.$host."
Ваш id "
.$id."
Ваш ник "
.$row['login']."
Ваш пароль "
.$row['pass']."
Ваш пол "
.$row['pol']."
Ваш возраст "
.$row['vozrast']."
==================================================================
Ваша ссылка на активацию аккаунта
"
.$host."login/activate.php?id=".$id."&login=".$row['login']."
==================================================================
Спасибо за регистрацию,
С ув. Администрация CS-GTP
Наш e-mail Pomaska@mail.ru
"
);
$mail = $row['e-mail'];
if(mail($mail,$theme,$text))
echo ("На ".$mail." отправлено письмо с дальнейшими инструкциями!");

else
die('письмо на емейл не отправилось... напишите ка админу на Pomaska@mail.ru');
mysql_close($con);
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.