Автор Тема: MCF - форма за регистрация 1  (Прочетена 12323 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

federer_11

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 1
  • Публикации: 931
  • ULTRAS LEVSKI
Re:MCF - форма за регистрация 1
« Отговор #30 -: 25 Април 2011, 00:30:44 »
В имената на променливите, на едното място си писал $pas2, а на другото $pass2. :D
(x)HTML, CSS, PHP, MySQL, XML, WML, JavaScript (jQuery)

relax

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 61
Re:MCF - форма за регистрация 1
« Отговор #31 -: 25 Април 2011, 12:15:24 »
Много грешки съм имал и започнах отначало.. Доста внимавах и даже сега започвам с администрацията. Много ти благодаря. Точно тази грешка я допуснах отново, но я оправих благодарение на теб. :) :)

ashaman

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 76
Re: MCF - форма за регистрация 1
« Отговор #32 -: 13 Ноември 2011, 12:05:22 »
Преписал съм всичко по клиповете от индекс, база данни в двата рег урока, обаче при мен дава страшни грешки в браузъра, пълна каша, иначе доста време си играх да препиша всичко уж както е дадено, в самите файлове не дава грешки.
Няма ли вариант крайните файлове от урока да бъдат качени. На клип е много добре да слушаш подробните обяснения, обаче е наистина много много трудно писането по клип. Аз лично си свалях видеотата правих скрийнове даже отначало да не пропусна нещо, защото при цялото това превключване между файлове не много добра видимост на целият файл, е много много трудно.
Иначе много благодаря за тия уроци, по-подробни не съм срещал, но ако решите да качите и файловете да погледнем и тях, ще бъде много по-добре.

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: MCF - форма за регистрация 1
« Отговор #33 -: 13 Ноември 2011, 12:18:43 »
Дай инфо какви грешки ти се появяват. Тук има тема за възможните грешки, които се визуализират в браузъра.

ReDBuLL

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 36
Re: MCF - форма за регистрация 1
« Отговор #34 -: 13 Ноември 2011, 12:21:51 »
Аз също уча по този урок и имах само проблем с (ereg/eregi) защото не работят на php 5.3 и трябваше да използвам (!preg_match) така ме посъветваха момчетата от тука и стана иначе всичко си върви идеално.А други грешки кадето ти изкарва сложи в functions.php най-отгоре
error_reporting(E_ALL ^ E_NOTICE);и няма да има проблем.Поне аз така направих,а другия вариант е да си ги опоравиш от php.ini ама аз там несмяда баркам 4е сам новак :) .Та урока си работи идеално сичко само дето трябва д асе смени (ereg,eregi) със (!preg_match)

ashaman

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 76
Re: MCF - форма за регистрация 1
« Отговор #35 -: 13 Ноември 2011, 12:38:06 »
То всъщност трябваше да постна в темата за рег2 урока. Това с ерег, прочетох и аз него го оправих, ето кодовете.
Код: HTML
  1. <?php
  2.  include 'functions.php';
  3.  if(!$_SESSION['is_logged']==true)
  4.  {
  5.     if($_POST['form_submit']==true)
  6.     {
  7.         $login=trim($_POST['login']);
  8.         $pas=trim($_POST['pass']);
  9.         $pas2=trim($_POST['pass2']);
  10.          $email=trim($_POST['mail']);
  11.          $name=trim($_POST['name']);
  12.    
  13.          if(strlen($login)<4)
  14.          {
  15.              $error_array['login']='nevalidno ime';
  16.          }
  17.             if(strlen($pass)<4)
  18.          {
  19.              $error_array['pass']='kratka parola';
  20.          }
  21.            if($pas!=$pas2)
  22.          {
  23.              $error_array['pass']-'parolite ne otgovarqt';
  24.          }
  25.          if(!preg_match("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$", $email)){
  26.          $error_array['mail']-'nevaliden meil';
  27.              }
  28.              if(!preg_match("^[a-zA-Z]{3,16}$",$name)){
  29.                  $error_array["name"]='nevalidno ime';
  30.              }
  31.              if(!count($error_array)>0)
  32.               {
  33.                   db_init();
  34.                   $sql='SELECT COUNT(*) as cnt FROM users WHERE login="'.addslashes($login).'" OR email="'.addlashes($email).'"';
  35.               $res=mysql_query($sql);
  36.               $row=mysql_fetch_assoc($res);
  37.               if($row['cnt']==0)
  38.               {
  39.                mysql_query('INSERT INTO users (login,pass,real_name,email,date_registered)
  40.                    VALUES("'.addlashes($login).'","'.md5($pas).'","'.addlashes($name).'","'.addlashes($email).'",'.time().')');  
  41.               }if(mysql_error())
  42.               {
  43.           $error_array['sql']='<h1>Gre6ka,opitaite pak</h1>';
  44.               }
  45. else
  46. {
  47.  
  48.     header('Location: index.php');
  49. exit;
  50.  
  51. }            
  52.               }
  53.  else
  54.    
  55.  { $error_array['login']='imeto ili adresa sa zaeti';
  56.  $error_array['mail']='imeto ili adresa sa zaeti';
  57.  } } }
  58.  my_header('registraciq');
  59.  if($error_array['sql'])
  60.  {
  61.      echo $error_array['sql'];
  62.  }
  63. ?>
  64. <form action="register.php" method="POST">
  65. Login:<input type="text" name="login" value=""/><?php
  66. if($error_array['login']){
  67.    echo $error_array['login'];}
  68.    ?><br>
  69. Parola:<input typr="text" name="pass" value=""/>
  70. <?php
  71. if($error_array['pass']){
  72.    echo 'nevalidno ime';}
  73.    ?>
  74.     <br>
  75. povtori parola:<input type="text" name="pass2" value=""/><br>
  76. email:<input type="text" name="mail" value=""/><br>
  77. IME:<input type="text" name="name" value=""/><br>
  78. <input type="hidden" name="form_submit" value="1">
  79. <input type="submit" name="registrirai se" value="registrirai se"/><br>
  80. </form>
  81. <?php
  82. ?>
И function.php
Код: HTML
  1. <?php
  2. function my_header($title)
  3. {
  4.    session_start();
  5.    ?>
  6. <!DOCTYPE html>
  7.     <head>
  8.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  9.         <title><?php echo $title;?></title>
  10.     </head>
  11.     <body>
  12.         <div id ="top_menu">
  13.         <?php
  14.        if($_SESSION['is_logged']===true)
  15.        {
  16.        }
  17.        else
  18.        {
  19.            echo '<a href="register.php">REGISTRACIQ </a>';
  20.         }
  21.         ?>
  22.         </div>
  23.         <?php
  24. }
  25. function footer()
  26. {
  27.    echo '</body></html>';
  28. }
  29. function db_init()
  30. {
  31.     mysql_connect('localhost', 'root','original') or die ("gre6ka za bazata danni");
  32.     mysql_select_db('mcf');
  33. }
  34. ?>
  35.     </body> </html>
Грешките при извикване на рег файла за тези

Notice: Undefined variable: _SESSION in D:\xampp\htdocs\PhpProject1\register.php on line 3
Notice: Undefined index: form_submit in D:\xampp\htdocs\PhpProject1\register.php on line 5
Notice: Undefined index: is_logged in D:\xampp\htdocs\PhpProject1\functions.php on line 15
Notice: Undefined variable: error_array in D:\xampp\htdocs\PhpProject1\register.php on line 59
Notice: Undefined variable: error_array in D:\xampp\htdocs\PhpProject1\register.php on line 66
Notice: Undefined variable: error_array in D:\xampp\htdocs\PhpProject1\register.php on line 71

на опита за регистрация ми добавя тези:
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in D:\xampp\htdocs\PhpProject1\register.php on line 25
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in D:\xampp\htdocs\PhpProject1\register.php on line 28
и ми дава грешките : за логин - imeto ili adresa sa zaeti
за парола - nevalidno ime

ReDBuLL

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 36
Re: MCF - форма за регистрация 1
« Отговор #36 -: 13 Ноември 2011, 12:44:46 »
Тука няма грешки заповядай но както каза Гатакка тука не е за Copy-Past ае да гледаме,пишеме и да помним  :) Помагам ти само защото и аз бяха така и незнаех нищо  :)
Айде и успех  :)

Register.php:
<?php
include 'functions.php';
if(!
$_SESSION['is_logged']==true)
{
    
my_header('Регистрация');
if(
$_POST['form_submit']==1)
{
$login=trim($_POST['login']);
$pas=trim($_POST['pass']);
$pas2=trim($_POST['pass2']);
$email=trim($_POST['mail']);
$name=trim($_POST['name']);

if(
strlen($login)<4)
{
$error_array['login']='Кратко име.Трябва да е поне 4 синвола!';
}

if(
strlen($pas)<4)
{
$error_array['pass']='Кратка парола!';
}

if(
$pas!=$pas2)
{
$error_array['pass']='Паролите не въпадат!';
}

if(!
preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email)) 
{
$error_array['mail']='Невалиден Email адрес!';
}

if (!
preg_match("/^[a-zA-Z0-9_]{3,16}$/" ,$name)) 
{
$error_array['name']='Невалидно име!';
}

if(!
count($error_array)>0)
{
db_init();
$sql='SELECT COUNT(*) as cnt FROM users WHERE login="'.addslashes($login).'" OR email="'.addslashes($email).'"';
$res=mysql_query($sql); 
$row=mysql_fetch_assoc($res);
if(
$row['cnt']==0)
{
mysql_query('INSERT INTO users (user_id,login,pass,real_name,email,date_registerd)
VALUES ("","'
.addslashes($login).'","'.md5($pas).'","'.addslashes($name).'","'.addslashes($email).'",'.time().')');
if(
mysql_error())
{
    echo 
mysql_error() ;
$error_array['name']='<h1>Грешка.Моля опитаите отново!</h1>';
}
else
{
    
header('Location: index.php');
    exit;
}
}
else
{
$error_array['login']='Потребителско име или Email адреса е зает!';
$error_array['mail']='Потребителско име или Email адреса е зает!';
}
}

}
if(
$error_array['name'])
{
echo 
$error_array['name'];
}
?>

<form action="register.php" method="POST">
<b>User name</b>:<input type="text" name="login" value="" />
<?php
if($error_array['login'])
{
echo 
$error_array['login'];

?>

<br />
<b>Парола:</b><input type="password" name="pass" value="" size="30" />
<?php
if($error_array['pass'])
{
echo 
$error_array['pass'];

?>

<br />
<b>Повтори парола:</b><input type="password" name="pass2" value="" size="30" />
<?php
if($error_array['pass2'])
{
echo 
$error_array['pass2'];

?>

<br />
<b>Email:</b><input type="text" name="mail" value="" />
<?php
if($error_array['mail'])
{
echo 
$error_array['mail'];

?>

<br />
<b>Име:</b><input type="text" name="name" value="" />
<?php
if($error_array['name'])
{
echo 
$error_array['name'];

?>

<br />
<input type="hidden" name="form_submit" value="1" />
<input type="submit" name="Регистрирай се" value="Регистрирай се" /><br />
</form>
<?php
footer
();
}
else 
{
header('Location: index.php');
exit;
}

Function.php:
<?php
error_reporting
(E_ALL E_NOTICE);
function 
my_header($title
{
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><?php echo $title?></title>
</head>
<body>
<div id="top_menu">
<?php
if ($_SESSION['is_logged'] === true)
{


else

echo 
'<a href="register.php">Регистрирай се</a>';
}
?>

</div>
<?php
}

function 
footer() {
echo 
'</body></html>';
}

function 
db_init()
{
    
mysql_connect('localhost''root''parolata') or die ("Няма връзка с сървъра!");
    
mysql_select_db('nfs') or die ("Немога да избера база данни!");
}

ashaman

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 76
Re: MCF - форма за регистрация 1
« Отговор #37 -: 13 Ноември 2011, 14:38:21 »
Мерси много!, ще огледам да видя къде са били грешките.