[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прошу помочь систематизировать код!
philcrosoft
Привет всем! наткнулся на проблему, регистрацию делал по урокам из инета, многое понял, но есть мелочи!
в общем капчу всавил и она работает однако не смог интегрировать со своим кодом, поэтому код вставил в конце, но на процедуру регистрации поэтому он не влияет, что я верно его ввожу, или неверно регистрация всё равно проходит!!!

вот код:
<?php
include('kcaptcha/kcaptcha.php'); //Подключаем kcaptcha
session_start();

class ExceptReg extends Exception {}
try

{ include_once ( "connect.php" ) ;
if ( isset( $_POST['submit'] ) ){
if ( empty( $_POST['login'] ) ) {
throw new ExceptReg( 'Вы не ввели логин' ) ;}
if ( empty( $_POST['password'] ) ) {
throw new ExceptReg( 'Вы не ввели пароль' ) ; }
if ( empty( $_POST['password2'] ) ) {
throw new ExceptReg( 'Вы не ввели подверждение пароля' ) ; }
if ( $_POST['password'] != $_POST['password2'] ) {
throw new ExceptReg( 'Пароли не совпадают' ) ; }
if ( empty( $_POST['email'] ) ) {
throw new ExceptReg( 'Вы не ввели E-mail' ) ; }
if ( empty( $_POST['email2'] ) ) {
throw new ExceptReg( 'Вы не ввели подверждение e-mail' ) ; }


$login = strip_tags($_POST['login']);
$password = strip_tags($_POST['password']);
$password2 = strip_tags($_POST['password2']);
$email = strip_tags($_POST['email']);
$email2 = strip_tags($_POST['email2']);


$target = "img/screenshots/";
$_FILES['pic']['name'] = str_replace(array('-', ':', ' '), '', $id_dates) . '_' . $_FILES['pic']['name'];
$target = $target .basename( $_FILES['pic']['name']);
$pic = ($_FILES['pic']['name']);


$query = "SELECT `id` FROM `users` WHERE `login`='{$login}'" ;
$sql = mysql_query( $query ) or die( mysql_error() ) ;
if ( mysql_num_rows( $sql ) > 0 )
{
throw new ExceptReg( 'Такой логин уже зарегисрирован!' ) ;
}
$query = "SELECT `id` FROM `users` WHERE `email`='{$email}'" ;
$sql = mysql_query( $query ) or die( mysql_error() ) ;
if ( mysql_num_rows( $sql ) > 0 )
{
throw new ExceptReg( 'Такой e-mail уже зарегистрирован!' ) ;
}

$query = "INSERT INTO users(login , password , email)
VALUES ('
$login', '$password', '$email')" ;
$result = mysql_query( $query ) or die( mysql_error() ) ;

header('Location: registered.html');
}
}

catch ( ExceptReg $e )
{
echo '<font color="red">Ошибка регистрации: ' . $e->getMessage() . '</font>';
}
if (move_uploaded_file($_FILES['pic']['tmp_name'], $target))
{
echo "Фото загружено!";
}
else { "Фото не загружено!";
}
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
echo "<p>Correct</p>";
}else{
echo "<p>The code you entered is wrong</p>";
}
}

unset($_SESSION['captcha_keystring']);
?>


собственно мне нужно вставить этот код вверх правильно чтобы капча проверялась именно в процессе регистрации

if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
echo "<p>Correct</p>";
}else{
echo "<p>The code you entered is wrong</p>";
}
}

unset($_SESSION['captcha_keystring']);


прошу помощи!




Спустя 2 часа, 57 минут, 52 секунды (28.05.2011 - 16:40) twin написал(а):
Код ужасен... Так не делается. Ну если так нравится, то вот:
<?php 
include ('kcaptcha/kcaptcha.php');//Подключаем kcaptcha

session_start();
class ExceptReg extends Exception{}

try
{
include_once ("connect.php");

if(isset($_POST['submit']))
{

if(empty($_POST['login']))
{
thrownew ExceptReg('Вы не ввели логин');
}

if(empty($_POST['password']))
{
thrownew ExceptReg('Вы не ввели пароль');
}

if(empty($_POST['password2']))
{
thrownew ExceptReg('Вы не ввели подверждение пароля');
}

if($_POST['password'] != $_POST['password2'])
{
thrownew ExceptReg('Пароли не совпадают');
}

if(empty($_POST['email']))
{
thrownew ExceptReg('Вы не ввели E-mail');
}
// Вот твоя капча
if(!isset($_SESSION['captcha_keystring']) || $_SESSION['captcha_keystring'] !== $_POST['keystring'])
{
thrownew ExceptReg('Фигвам, не угадал.');
}


if(empty($_POST['email2']))
{
thrownew ExceptReg('Вы не ввели подверждение e-mail');
}
$login = strip_tags($_POST['login']);
$password = strip_tags($_POST['password']);
$password2 = strip_tags($_POST['password2']);
$email = strip_tags($_POST['email']);
$email2 = strip_tags($_POST['email2']);
$target = "img/screenshots/";
$_FILES['pic']['name'] = str_replace(array( '-',':',' '), '', $id_dates) .'_'. $_FILES['pic']['name'];
$target = $target . basename($_FILES['pic']['name']);
$pic = $_FILES['pic']['name'];
$query = "SELECT `id` FROM `users` WHERE `login`='{$login}'";
$sql = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($sql) > 0)
{
thrownew ExceptReg('Такой логин уже зарегисрирован!');
}
$query = "SELECT `id` FROM `users` WHERE `email`='{$email}'";
$sql = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($sql) > 0)
{
thrownew ExceptReg('Такой e-mail уже зарегистрирован!');
}
$query = "INSERT INTO users(login , password , email)
VALUES ('
$login', '$password', '$email')";
$result = mysql_query($query) or die(mysql_error());
header('Location: registered.html');
}
}

catch(ExceptReg$e)
{
echo '<font color="red">Ошибка регистрации: '. $e -> getMessage() .'</font>';
}

if(move_uploaded_file($_FILES['pic']['tmp_name'], $target))
{
echo "Фото загружено!";
}
else
{
"Фото не загружено!";
}

if(count($_POST) > 0)
{

if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring'])
{
echo "<p>Correct</p>";
}
else
{
echo "<p>The code you entered is wrong</p>";
}
}

unset($_SESSION['captcha_keystring']);


По стилю - сходи ко мне в подпись.

Спустя 3 часа, 35 минут, 30 секунд (28.05.2011 - 20:16) philcrosoft написал(а):
понимаю ... я учусь только ))) что бы вы порекомендовали сделать с кодом?

Спустя 22 минуты, 18 секунд (28.05.2011 - 20:38) philcrosoft написал(а):
можно ещё как-нить помочь вставить в код эту строчку под мой код, уж простите пока так научился


if (move_uploaded_file($_FILES['pic']['tmp_name'], $target))
{
echo "Фото загружено!";
}
else { "Фото не загружено!";
}

Спустя 33 минуты, 8 секунд (28.05.2011 - 21:11) twin написал(а):
Ты посмотри внимательно... Я же вставил давно.

Спустя 1 минута, 22 секунды (28.05.2011 - 21:12) twin написал(а):
аааа, упс. это из другой оперы. Из этой.
Быстрый ответ:

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