Пожалуйста помогите с формой регистрации.

Статус
В этой теме нельзя размещать новые ответы.

slateclub

Постоялец
Регистрация
5 Ноя 2008
Сообщения
71
Реакции
4
Всем доброго времени суток.
Пожалуйста, очень прошу, помогите разобраться с формой регистрации на сайте. Дело все в том, что есть некоторые поля которые мне не нужны, однако при простом удалении ненужных строк вместо формы отображается пустая страница.
Вот полный код страницы регистрации:
PHP:
<?php
error_reporting( 0 );
include( "setup.php" );
include( "header.php" );
echo "<h3 align=center>".$lang['title_reg']."</h3>";
if ( get_sysval( "users_register" ) == "YES" )
{
	switch ( $_GET[mod] )
	{
	case "confirm" :
		echo $lang['reg_confmail']."";
		break;
	case "notcomplete" :
		echo $lang['reg_badconf']."";
		break;
	case "complete" :
		echo $lang['reg_finishreg']."<br /><div align=\"center\"><a href=\"account.php\">{$lang['reg_accenter']}</a></div>";
		break;
	case "register" :
	default :
		print_result( );
		$cashconv_default = get_sysval( "cashconv_default" );
		$newvalt_arr = array( );
		foreach ( $valtypes_arr as $k => $v )
		{
			if ( get_sysval( $k."wmz" ) != "" )
			{
				$newvalt_arr[$k] = $v;
			}
			if ( 0 < num_rows( $tables[t_paysys], "valuta='".$k."'", "id" ) )
			{
				$newvalt_arr[$k] = $v;
			}
		}
		if ( count( $newvalt_arr ) == 0 )
		{
			$newvalt_arr[$cashconv_default] = $valtypes_arr[$cashconv_default];
		}
		echo $lang['reg_descr']."<table align=center><form action=\"\" method=\"post\">\n<tr ".tdcolor( "form" )."><td>".err_field( "username", $_GET[err] ).( "<b>".$lang['tab_login']."</b></td><td><input name=\"form[username]\" type=\"text\" value=\"{$_GET['username']}\"></td></tr>\n<tr " ).tdcolor( "form" )."><td>".err_field( "pass", $_GET[err] ).( "<b>".$lang['tab_pass']."</b></td><td><input name=\"form[pass]\" type=\"password\" value=\"\"></td></tr>\n<tr " ).tdcolor( "form" )."><td>".err_field( "pass", $_GET[err] ).( "<b>".$lang['retypepass']."</b></td><td><input name=\"pass\" type=\"password\" value=\"\"></td></tr>\n<tr " ).tdcolor( "form" )."><td>".err_field( "email", $_GET[err] ).( "<b>".$lang['tab_email']."</b></td><td><input name=\"form[email]\" type=\"text\" value=\"{$_GET['email']}\"></td></tr>" );
		if ( function_exists( "select_icq_tosend" ) )
		{
			if ( get_sysval( "icqmass_obligatoire" ) == "YES" )
			{
				$isq_oblig = err_field( "icq", $_GET[err] );
			}
			$forpaydicq = "<br>".$lang[forpaydicq];
		}
		echo "<tr ".tdcolor( "form" )."><td>".$isq_oblig.( "<b>ICQ UIN</b>".$forpaydicq."</td><td><input name=\"form[icq]\" type=\"text\" value=\"{$_GET['icq']}\"></td></tr>" );
		if ( get_sysval( "users_basicreg" ) == "NO" )
		{
			echo "<tr ".tdcolor( "form" )."><td>".err_field( "fname", $_GET[err] ).( "<b>".$lang['tab_fname']."</b></td><td><input name=\"form[fname]\" type=\"text\" value=\"{$_GET['fname']}\"></td></tr>\n<tr " ).tdcolor( "form" )."><td>".err_field( "sname", $_GET[err] ).( "<b>".$lang['tab_sname']."</b></td><td><input name=\"form[sname]\" type=\"text\" value=\"{$_GET['sname']}\"></td></tr>" );
			echo "<tr ".tdcolor( "form" )."><td>".err_field( "adres", $_GET[err] ).( "<b>".$lang['tab_adres']."</b></td><td><input name=\"form[adres]\" type=\"text\" value=\"{$_GET['adres']}\"></td></tr>\n<tr " ).tdcolor( "form" )."><td>".err_field( "zip", $_GET[err] ).( "<b>".$lang['tab_zip']."</b></td><td><input name=\"form[zip]\" type=\"text\" value=\"{$_GET['zip']}\"></td></tr>" );
		}
		echo "<tr ".tdcolor( "form" )."><td>".err_field( "country", $_GET[err] ).( "<b>".$lang['tab_country']."</b></td><td>" ).print_options( "form[country]", get_country_arr( ), $_GET[country], true, "", "country" )."</td></tr>\n<tr ".tdcolor( "form" )."><td>".err_field( "lang", $_GET[err] ).( "<b>".$lang['tab_lang']."</b></td><td>" ).print_options( "form[lang]", get_langs_arr( ), visiter_language( $_GET[lang] ), false )."</td></tr>\n<tr ".tdcolor( "form" )."><td>".err_field( "paysys", $_GET[err] ).( "<b>".$lang['tab_paysys']."</b></td><td>" ).print_options( "form[paysys]", paysys_arr( ), $_GET[paysys], true, "", "paysys" )."</td></tr>\n<tr ".tdcolor( "form" )."><td>".err_field( "payacc", $_GET[err] ).( "<b>".$lang['tab_payacc']."</b></td><td><input name=\"form[payacc]\" type=\"text\" value=\"{$_GET['payacc']}\"></td></tr>" );
		if ( get_sysval( "cashconv_uschangeval" ) == "YES" )
		{
			$vlt = print_options( "form[valuta]", $newvalt_arr, $_GET[valuta], false );
		}
		else
		{
			$vlt = print_checkstr( $newvalt_arr, $cashconv_default );
		}
		echo "<tr ".tdcolor( "form" )."><td>".err_field( "valuta", $_GET[err] ).( "<b>".$lang['tab_valuta']."</b></td><td>" ).$vlt."</td></tr> ";
		if ( get_sysval( "refs_field" ) == "YES" )
		{
			$rid = get_site_referal( );
			echo "<tr ".tdcolor( "form" ).( "><td><b>".$lang['tab_referer']."</b></td><td><input name=\"form[rid]\" type=\"text\" value=\"" ).get_username( $rid )."\"></td></tr>";
		}
		echo "<tr ".tdcolor( "form" )."><td>".err_field( "terms", $_GET[err] ).( "<b>".$lang['tab_terms']."</b></td><td><input name=\"terms\" type=\"checkbox\" value=\"1\"></td></tr>" );
		if ( get_sysval( "site_formturing" ) == "YES" )
		{
			echo "<tr ".tdcolor( "form" )."><td>".err_field( "turing", $_GET[err] ).( "<b>".$lang['turing'].":</b></td><td><img src='turimg.inc.php'> <input name=\"turing\" size=6 type=\"text\" value=\"\"></td></tr>" );
		}
		echo "<tr ".tdcolor( "form" )."><td colspan='2' align=left>".err_field( "", "" ).( " - ".$lang['require_fields']."</td></tr>\n<tr " ).tdcolor( "form" ).( "><td colspan='2' align=center><input type=\"submit\" name=\"new_user\" value=\"".$lang['sub_register']."\"></td></tr>\n</table>\n</form>" );
	}
}
else
{
	echo "<br /><br /><font color=".get_sysval( "colors_error" ).( ">".$lang['reg_noreg']."<br />" );
}
echo "\n";
include( "footer.php" );
set_genresult( microtime( ) - $gen_start );
?>
Нужно удалить в форме данные для заполнения со следующими пунктами: $lang['tab_fname'] - данные с именем, $lang['tab_sname'] - данные с фамилией, $lang['tab_adres'] - данные с адресом,
$lang['tab_zip'] - данные с почтовым индексом, $lang['tab_lang'] - данные
с выбором языка, $lang['tab_paysys'] - данные с выбором платежной системы, $lang['tab_payacc'] - данные с выбором счета в платежной системе, $lang['tab_valuta'] - выбор валюты. Помогите пожалуйста.
PS или подскажите как сделать так, чтобы информация по перечисленным пунктам была не обязательна к заполнению.
На всякий случай прикрепляю сам файл php:
 

Вложения

  • register.rar
    1,5 KB · Просмотры: 2
Так удаляйте строчки ввода этих данных в форме:
PHP:
<?
error_reporting( 0 ); 
include( "setup.php" ); 
include( "header.php" ); 
echo "<h3 align=center>".$lang['title_reg']."</h3>"; 
if ( get_sysval( "users_register" ) == "YES" ) 
{ 
    switch ( $_GET[mod] ) 
    { 
    case "confirm" : 
        echo $lang['reg_confmail'].""; 
        break; 
    case "notcomplete" : 
        echo $lang['reg_badconf'].""; 
        break; 
    case "complete" : 
        echo $lang['reg_finishreg']."<br /><div align=\"center\"><a href=\"account.php\">{$lang['reg_accenter']}</a></div>"; 
        break; 
    case "register" : 
    default : 
        print_result( ); 
        $cashconv_default = get_sysval( "cashconv_default" ); 
        $newvalt_arr = array( ); 
        foreach ( $valtypes_arr as $k => $v ) 
        { 
            if ( get_sysval( $k."wmz" ) != "" ) 
            { 
                $newvalt_arr[$k] = $v; 
            } 
            if ( 0 < num_rows( $tables[t_paysys], "valuta='".$k."'", "id" ) ) 
            { 
                $newvalt_arr[$k] = $v; 
            } 
        } 
        if ( count( $newvalt_arr ) == 0 ) 
        { 
            $newvalt_arr[$cashconv_default] = $valtypes_arr[$cashconv_default]; 
        } 
        echo $lang['reg_descr']."<table align=center><form action=\"\" method=\"post\">\n<tr ".tdcolor( "form" )."><td>".err_field( "username", $_GET[err] ).( "<b>".$lang['tab_login']."</b></td><td><input name=\"form[username]\" type=\"text\" value=\"{$_GET['username']}\"></td></tr>\n<tr " ).tdcolor( "form" )."><td>".err_field( "pass", $_GET[err] ).( "<b>".$lang['tab_pass']."</b></td><td><input name=\"form[pass]\" type=\"password\" value=\"\"></td></tr>\n<tr " ).tdcolor( "form" )."><td>".err_field( "pass", $_GET[err] ).( "<b>".$lang['retypepass']."</b></td><td><input name=\"pass\" type=\"password\" value=\"\"></td></tr>\n<tr " ).tdcolor( "form" )."><td>".err_field( "email", $_GET[err] ).( "<b>".$lang['tab_email']."</b></td><td><input name=\"form[email]\" type=\"text\" value=\"{$_GET['email']}\"></td></tr>" ); 
        if ( function_exists( "select_icq_tosend" ) ) 
        { 
            if ( get_sysval( "icqmass_obligatoire" ) == "YES" ) 
            { 
                $isq_oblig = err_field( "icq", $_GET[err] ); 
            } 
            $forpaydicq = "<br>".$lang[forpaydicq]; 
        } 
        echo "<tr ".tdcolor( "form" )."><td>".$isq_oblig.( "<b>ICQ UIN</b>".$forpaydicq."</td><td><input name=\"form[icq]\" type=\"text\" value=\"{$_GET['icq']}\"></td></tr>" ); 
        echo "
		<tr ".tdcolor( "form" ).">
			<td>".err_field( "country", $_GET[err] ).( "<b>".$lang['tab_country']."</b></td>
			<td>" ).print_options( "form[country]", get_country_arr( ), $_GET[country], true, "", "country" )."</td>
		</tr>\n
	"; 
        if ( get_sysval( "refs_field" ) == "YES" ) 
        { 
            $rid = get_site_referal( ); 
            echo "<tr ".tdcolor( "form" ).( "><td><b>".$lang['tab_referer']."</b></td><td><input name=\"form[rid]\" type=\"text\" value=\"" ).get_username( $rid )."\"></td></tr>"; 
        } 
        echo "<tr ".tdcolor( "form" )."><td>".err_field( "terms", $_GET[err] ).( "<b>".$lang['tab_terms']."</b></td><td><input name=\"terms\" type=\"checkbox\" value=\"1\"></td></tr>" ); 
        if ( get_sysval( "site_formturing" ) == "YES" ) 
        { 
            echo "<tr ".tdcolor( "form" )."><td>".err_field( "turing", $_GET[err] ).( "<b>".$lang['turing'].":</b></td><td><img src='turimg.inc.php'> <input name=\"turing\" size=6 type=\"text\" value=\"\"></td></tr>" ); 
        } 
        echo "<tr ".tdcolor( "form" )."><td colspan='2' align=left>".err_field( "", "" ).( " - ".$lang['require_fields']."</td></tr>\n<tr " ).tdcolor( "form" ).( "><td colspan='2' align=center><input type=\"submit\" name=\"new_user\" value=\"".$lang['sub_register']."\"></td></tr>\n</table>\n</form>" ); 
    } 
} 
else 
{ 
    echo "<br /><br /><font color=".get_sysval( "colors_error" ).( ">".$lang['reg_noreg']."<br />" ); 
} 
echo "\n"; 
include( "footer.php" ); 
set_genresult( microtime( ) - $gen_start ); 
?>

Но мне кажется, что даже после удаления никто не сможет закончить регистрацию, ввиду того что в обработчике наверняка встроена проверка на заполненность данных полей.
 
автора сорсов надо ударить по голове дубиной N раз.

Формула: N = O - 1.

O - количество операторов вывода (echo/print/..)
1 - магическое число

разделение кода от шаблона тоже надо делать ><
 
автора сорсов надо ударить по голове дубиной N раз.
Формула: N = O - 1.
O - количество операторов вывода (echo/print/..)
1 - магическое число
разделение кода от шаблона тоже надо делать ><
Если не трудно, то можно пожалуйста по подробней?, а то я вообще ничего не понял. Что это за переменные, и где их можно увидеть? Или Вы просто глумитесь над моими не знаниями?
А еще не совсем понятно кого надо то ударить : меня :) или автора скрипта:D
Но мне кажется, что даже после удаления никто не сможет закончить регистрацию, ввиду того что в обработчике наверняка встроена проверка на заполненность данных полей.
Да к сожалению так оно и оказалось, так что у меня до сих пор ничего не получается:nezn:
 
Те поля, которые не нужны - делай просто хидднутыми и с дефолтными значениями.

Например, было <input name=surname size=20>
стало <input name=surname type=hidden value="Иванов" size=20>.

Тогда у тебя скрипт проверки все равно будет получать все эти поля, проверять, и совать в базу. А юзер их видеть не будет, и заполнять тоже не придется.
 
Уже было сказано, скорее всего будет проверка навалидность, поэтому сюда еще нужно прикрепить сам файл обработчик, исходя из того что в action=\"\" нечего не записано, отправлять будет в себя, причем методом пост а видно только что отлавливается метод ГЕТ. Так что маловато инфы ...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху