Всем привет... сделал скрипт регистрации, после перехода на страницу _reg3.php с _reg2.php вылезает ошибка 500((( вот код _reg3.php 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 [email=Pomaska@mail.ru]Pomaska@mail.ru[/email] "); $mail = $_GET[e-mail]; if(mail($mail,$theme,$text)){echo ("На ".$mail." отправлено письмо с дальнейшими инструкциями!");} else {DIE('письмо на емейл не отправилось... напишите ка админу на [email=Pomaska@mail.ru]Pomaska@mail.ru[/email]');} mysql_close($con); ?> а вот код _reg2.php: 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> ");}?>
В файле htaccess скорее всего ошибка. Проверь этот конфигурационный файл в директориях, где лежит скрипт
PHP: $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')"; точнее лшибка тут: PHP: (NULL,'$_GET[login]','$_GET[pass]','$_GET[e-mail]','$_GET[pol]','$_GET[vozrast]','0')"; [/php]
я просто сейчас логи посмотрел... и реально, убераю эти соеденения с базой, всё норм(( вот лог: PHP: [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: [url=http://79.142.91.37/htdocs/asdasdas/htdocs..._reg2.php?reg=1]http://79.142.91.37/htdocs/asdasdas/htd ... .php?reg=1[/url]
всмысле??? оО у меня просто в коде странице еще выше есть строки, с дизайном... я смотрю через notepad++ и 20 строка именно на этом нул.... помогите пожалуйста
PHP: <? $sql = 'INSERT INTO `users` VALUES ( NULL, ' . $_GET["login"] . ', ' . $_GET["pass"] . ', ' . $_GET["e-mail"] . ', ' . $_GET["pol"] . ', ' . $_GET["vozrast"] . ', 0 )'; ?>
вот так всё работает, спасибо большое))) вы можете ответить в чем была ошибка, просто я копировал скрипт из соседней папки, и там он добавляет в базу файлы (ну не сами, а только описание, ссылку, размер и т.д.) но там всё работает, всё нормально добавляло с тем скриптом... а что тут такое?(((
ну почему вот это работает PHP: $sql="INSERT INTO files (id, ssilka, name, opisanie, tip, razmer) VALUES (NULL,'$_POST[ssilka]','$_POST[name]','$_POST[opisanie]','$_POST[tip]','$_POST[razmer]')"; а это нет???? PHP: $sql="INSERT INTO users (id, login, pass, e-mail, pol, vozrast, activ) VALUES (NULL,'$_POST[login]','$_POST[pass]','$_POST[e-mail]','$_POST[pol]','$_POST[vozrast]','0')"; они же точь в точ похожи, только во втором случае стоит 0, но я этот ноль пихал в епременную ($nol = '0' и делал там $nol и нифига не работает, а как делаю PHP: (NULL, ".$_POST['login'].", ".$_POST['pass'].", ".$_POST['e-mail'].", ".$_POST['pol'].", ".$_POST['vozrast'].", $nol)"; всё норм(((( вообще не допирает до меня.... может это из-за того что я делаю регу через IFraim?
научитесь синтаксически правильно составлять запрос [sql] INSERT INTO `users` (`id`, `login`, `pass`, `e-mail`, `pol`, `vozrast`, `activ`) VALUES (NULL,'$_POST[login]','$_POST[pass]','$_POST[e-mail]','$_POST[pol]','$_POST[vozrast]','0') [/sql] и ловить ошибки PHP: <?php mysql_query() or die('MYSQL ERROR: '.mysql_error()); ?> и все у вас, блин, получится... удачи
Спасибо!))) не в одном учебнике не видел чтобы ` вот такими ковычками выделяли столбцы (ну айди, логин, мыло и т.д. в данном случае), везде без ковычек.. а вот насчет названия таблицы знаю=) спасибо ещё раз большое... можете посоветовать учебник какой нибудь по php? просто сейчас пошел учится в гуап на автоматизацию техники и програмное обеспечение авиа-космических приборов... так это вообще не то(( я хочу просто учится на коддера (php, perl и т.п.), а вот какой нибудь колледж/универ в питере незнаю... по гуглил, ненашел((( можете чтонибудь подсказать (книги, колледж, универ) (или вы сам самоучка?=) )
сперва про коллдеж, универ и книжки) второй вопрос про: всётаки и этот код не работает((( третий вопрос: может что-то в пхп прописать (в конфиг), у меня врсия пхп 5.2.9
Захочешь учиться в Эстонии - подскажу =) Тут уже столько кодов понаписали, так что в нос мне тыкни, какой из них не работает. Нет. Это синтаксика MySQL (апострофы) или РНР (просто ошибка синтаксиса). Конфиги тут не при чем.
ой, чет я перехотел))) все, кроме вот этого: PHP: <? $sql = 'INSERT INTO `users` VALUES ( NULL, ' . $_GET["login"] . ', ' . $_GET["pass"] . ', ' . $_GET["e-mail"] . ', ' . $_GET["pol"] . ', ' . $_GET["vozrast"] . ', 0 )'; ?> понятно....
Pomaska Дело в том, что ключ массива, если он не числовой, следует брать в скобочки, указывая на то, что ключ является строковым типом. Когда мы пишем ключ "e-mail" без скобочек, РНР у нас немножечко путается. Возми в скобочки ключи массивов и РНР тебе будет за это очень благодарен. Кроме того, конкатенация строк быстрее и нагляднее, потому что не заставляет проводить синтаксический анализ строк и явно или неявно не допустить подобных вещей, как строковые ключи без скобок. Никаких секретов.
ммм ладно, теперь всегда буду делать так)) тоесть вот этот скрипт не првельный, но мне повезло что он рабочий, да? : PHP: $sql="INSERT INTO files (id, ssilka, name, opisanie, tip, razmer) VALUES (NULL,'$_POST[ssilka]','$_POST[name]','$_POST[opisanie]','$_POST[tip]','$_POST[razmer]')";
эээ, ненадо))) пока что автор этого скрипта я=) и делал я его по книжке.. тока в книжке было выделенно ковычками `files`, а я забыл выделить, но всё работает=)
// offtop Apple Интересует не получение корочки, а получение реальных практических и теоретических знаний (практики по сути и щас дофига, но теория..), с этим как? И узкоспециализированных навыков.