Вэб-разработка
Учим PHP

code9 (off) [479]
6 июля 2009, 22:46

Вот мой первый скрипт http://code9.ru/code9_Book.zip Профи спасибо за помощь!
-------
Arab (off) [1141]
7 июля 2009, 00:48

163 кб? :)
а пример ?
-------
code9 (off) [479]
7 июля 2009, 01:34

Да это каптча так весит :( если честно я не могу со смарта в ISPmanager бд создавать,на локалке скрипт работает на 100%
-------
Arab (off) [1141]
7 июля 2009, 15:11

с ISP менеджером только опера 8.65 справится
-------
code9 (off) [479]
8 июля 2009, 01:18

8.65 трафа жрет много очень.
У меня тут проблемка :( я не пойму где у меня ошибка! Профи,Араб если не сложно.

<?
session_start();
include("connect.php");
$soed=mysql_connect($host,$db_user,$db_pwd);
if(!mysql_select_db($db_name,$soed))
{
   echo "Не могу выбрать базу данных";
   exit();
}


if(!$_POST['do'] OR $_POST['do'] =='')
{
echo("<form method=\"POST\" action=\"\")<br />
Желаеиый ник:<div><input name=\"nick\" type=\"text\"><br />
Пароль:<div><input name=\"pass\" type=\"text\"><br />
Еще раз пароль<div><input name=\"rpass\" type=\"text\"><br />
<input name=\"do\" type=\"submit\" value=\"зарегистрировать\">
</form>");
}



$nick=$_POST["nick"];
mysql_query("SELECT * FROM users WHERE nick='".strtolower($nick)."'");

if($_POST['pass'] !='' AND $_POST['rpass'] !='' AND $_POST['pass'] === $_POST['rpass'])
{
$pass = $_POST['pass'];

$r="INSERT INTO users VALUES(NULL,'".strtolower($nick)."','".md5($pass)."')";

mysql_query($r);

session_destroy();

?>

-------
code9 (off) [479]
8 июля 2009, 01:20

Я сейчас начал писать регистрацию,а из за этой непонятной ошибки дело стоит
-------
Profi Administrator [10176]
8 июля 2009, 02:20

code9, а чего тут непонятного? Фигурную скобку после последнего запроса поставь.
-----
И вынеси наконец подключение к базе в connect.php.
-----
if(!$_POST['do'] OR $_POST['do'] =='') перестань изобретать подобные конструкции.
<?php if(!$_POST['do']) 

echo 
'<form method="POST" action=""><br /> 
Желаемый ник:<input name="nick" type="text" /><br /> 
Пароль:<input name="pass" type="text" /><br /> 
Еще раз пароль<input name="rpass" type="text" /><br /> 
<input name="do" type="submit" value="зарегистрировать" /> 
</form>'


-----
<?php $nick=$_POST["nick"]; 
mysql_query("SELECT * FROM users WHERE nick='".strtolower($nick)."'"); 
Потенциальная дыра в безопасности. Все входящие данные нужно фильтровать.
-----
<?php $r="INSERT INTO users VALUES(NULL,'".strtolower($nick)."','".md5($pass)."')"
Куда и чего записывает этот запрос? Непонятно. Убьёшь таблицу.
-------
code9 (off) [479]
8 июля 2009, 13:53

Так а "на что" нужно фильтовать данные как ник и пароль? И вот где я сравниваю введенный ник с ником из базы,как мне там конструкцию эту устроить. Как после проверки сказать что такой ник уже есть в базе? можно так? if(запрос к базе сверяем ник)
{такой ник уже есть} илс {продолжаем рег. дальше}
-------
code9 (off) [479]
8 июля 2009, 14:44

<?
session_start();
include("connect.php");


if(!$_POST['do'])
{
echo("<form method=\"POST\" action=\"\")<br />
Желаеиый ник:<div><input name=\"nick\" type=\"text\"><br />
Пароль:<div><input name=\"pass\" type=\"text\"><br />
Еще раз пароль<div><input name=\"rpass\" type=\"text\"><br />
<input name=\"do\" type=\"submit\" value=\"зарегистрировать\">
</form>");
}



$nick=$_POST["nick"];

mysql_query("SELECT * FROM users WHERE nick='".strtolower($nick)."'");
if(mysql_affected_rows()==0) {

if($_POST['pass'] !='' AND $_POST['rpass'] !='' AND $_POST['pass'] === $_POST['rpass'])
{
$pass = $_POST['pass'];

$r="INSERT INTO users(nick,password) VALUES('".strtolower($nick)."','".md5($pass)."')";

mysql_query($r);
}

} else {
echo "такой юзер уже есть";
}



session_destroy();

?>
так будет работать?
-------
Profi Administrator [10176]
12 июля 2009, 11:37

code9, я же тебе выше написал как выводить форуму, а ты делаешь ту же ошибку .hz.
-------

Ответить на тему

стр. Пред. 1,2,3 ... 43,44,45 ... 87,88,89 След.

стр.  

Вэб-разработка
Список форумов
На главную

Последние темы

Регистрация
Вход

0.035 сек
SQL: 4