Автор Тема: Форма за регистрация - Проблем с SQL синтаксти  (Прочетена 13434 пъти)

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

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: Отг:Форма за регистрация - Проблем с SQL синтаксти
« Отговор #15 -: 10 Февруари 2012, 08:43:25 »
Оправих се, с помощтта на SocialEvil, специални благодарности!
...
Би ли ми казал начина, по който те е оправил?
Темата е малко старичка и надали някой ще ти отговори от питаните!
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

House M.D.

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 18
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #16 -: 10 Февруари 2012, 23:02:45 »
Нова тема ли да пусна? Абе ровя се из нета, обаче тъй като съм все още грийнхорн, нищо не схващам.

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #17 -: 11 Февруари 2012, 11:43:17 »
Ако въпроса ти е свързан с уроците пиши тук, иначе си пусни тема в раздел php.

House M.D.

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 18
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #18 -: 11 Февруари 2012, 13:31:33 »
Ако въпроса ти е свързан с уроците пиши тук, иначе си пусни тема в раздел php.
Да, с уроците е свързано, кода на Гатака дава грешка.

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #19 -: 11 Февруари 2012, 13:34:33 »
А ще дадеш ли код и разяснение на проблема да видим какво не е наред ?

House M.D.

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 18
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #20 -: 11 Февруари 2012, 13:53:29 »
$sql= 'SELECT COUNT (*) as cnt FROM users WHERE login="' .addslashes($login).'" OR email="'.addslashes($email).'"' ;
            echo $sql;
            $res=mysql_query($sql);
            $row= mysql_fetch_assoc($res);
$sql съдържа "SELECT COUNT (*) as cnt FROM users WHERE login="house" OR email="house@mm.cc""
А пък грешката е
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in E:\xampp\htdocs\mcf\register.php on line 42

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #21 -: 11 Февруари 2012, 14:09:04 »
Ами виж какво ти пише функцията mysql_fetch_assoc очаква да и бъде подаден ресурс като параметър а и се дава булев израз който пък се връща от mysql_query при проблем с заявката.В случая си писъл функцията "COUNT (*)" с място между думата и скобите,би трябвало да бъде:

Код: PHP
  1. $sql= 'SELECT COUNT(*) as cnt FROM users WHERE login="' .addslashes($login).'" OR email="'.addslashes($email).'"' ;

House M.D.

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 18
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #22 -: 11 Февруари 2012, 14:57:38 »
Пак същата грешка, няма разлика.

HanKrum

  • Гост
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #23 -: 11 Февруари 2012, 15:12:27 »
...вместо "...COUNT(*)..." ползвай функцията mysql_num_rows()

House M.D.

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 18
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #24 -: 11 Февруари 2012, 15:18:21 »
Би ли ми написал кода с тази функция? Гледам наръчника и .. само гледам. Не схващам все още.

HanKrum

  • Гост
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #25 -: 11 Февруари 2012, 15:22:48 »
Код: PHP
  1. $rezultat = mysql_query('SELECT * FROM `users` WHERE login="' . addslashes($login) . '" OR email="' . addslashes($email) . '"');
  2. $broj_na_redovete = mysql_num_rows($rezultat);
« Последна редакция: 11 Февруари 2012, 15:29:28 от HanKrum »

House M.D.

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 18
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #26 -: 11 Февруари 2012, 15:33:32 »
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in E:\xampp\htdocs\mcf\register.php on line 42

HanKrum

  • Гост
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #27 -: 11 Февруари 2012, 15:35:08 »
дай целия код да не гадаем бе
от де да знам ко има на ред 42 в
 register.php

House M.D.

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 18
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #28 -: 11 Февруари 2012, 15:36:34 »
<?php
include 'functions.php';
if(!
$_SESSION['is_logged']==true)
{
    
my_header('Регистрация');
    
    if(
$_POST['form_submit']==1)
    {
        
$logintrim($_POST['login']);
        
$passtrim($_POST['pass']);
        
$pass2trim($_POST['pass2']);
        
$emailtrim($_POST['mail']);
        
$nametrim($_POST['name']);
        
        if (
strlen($login)<2)
        {
            
$error_array['login']='invalid login name';
        }
        if (
strlen($pass)<4)
        {
            
$error_array['pass']='short pass';
        }
        if (
$pass!=$pass2)
        {
            
$error_array['pass']='passwords do not match';
        }
        if(!
ereg("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$"$email)) {
            
$error_array['mail']='invalid email';
        }
        if (!
ereg("^[a-zA-Z]{3,16}$",$name))
        {
            
$error_array['name']='invalid name';
        }
        
        if(!
count($error_array)>0)
        {
            
db_init();
            
//$sql='SELECT * FROM `users` WHERE login="' . addslashes($login) . '" OR email="' . addslashes($email) . '"';
            //echo $sql;
            //$res=mysql_query($sql);
            //if($res and !is_bool($res)){
            //$row= mysql_num_rows($res);
            
$rezultat mysql_query('SELECT * FROM `users` WHERE login="' addslashes($login) . '" OR email="' addslashes($email) . '"');
            
$broj_na_redovete mysql_num_rows($rezultat);
            
//}
            //echo $row;
            //print_r($row);
        
}
        
        
    }
    else
    {
        echo 
'not submitted';
    }
    
    
    
?>

<form action = "register.php" method = "POST">
    Login:<input type="text" name="login" value="" />
    <?php if($error_array['login']){
        echo 
$error_array['login'];
        } 
?>
<br>
    Password:<input type="text" name="pass" value="" />
        <?php if($error_array['login']){
        echo 
$error_array['login'];
        } 
?>
<br>
    Retype password:<input type="text" name="pass2" value="" /><br>
    Email:<input type="text" name="mail" value="" /><br>
    Name:<input type="text" name="name" value="" /><br>
    <input type="hidden" name="form_submit" value="1">
    <input type="submit" name="" value="Register" /><br>
   
</form>
<?php
}
else
{
    
header('Location:index.php');
    exit;
}

footer();
?>

Пробвах по много начини, но не става.

HanKrum

  • Гост
Re: Форма за регистрация - Проблем с SQL синтаксти
« Отговор #29 -: 11 Февруари 2012, 15:39:56 »
абе човече, ти не четеш ли какво ти се предлага като постваш
не е само да туриш кода, а има различни кодове
къде са ти редовете?
абе УЖАААААААААААААААААААС

Код: PHP
  1. <?php
  2. include 'functions.php';
  3. if(!$_SESSION['is_logged']==true)
  4. {
  5.     my_header('Регистрация');
  6.    
  7.     if($_POST['form_submit']==1)
  8.     {
  9.         $login= trim($_POST['login']);
  10.         $pass= trim($_POST['pass']);
  11.         $pass2= trim($_POST['pass2']);
  12.         $email= trim($_POST['mail']);
  13.         $name= trim($_POST['name']);
  14.        
  15.         if (strlen($login)<2)
  16.         {
  17.             $error_array['login']='invalid login name';
  18.         }
  19.         if (strlen($pass)<4)
  20.         {
  21.             $error_array['pass']='short pass';
  22.         }
  23.         if ($pass!=$pass2)
  24.         {
  25.             $error_array['pass']='passwords do not match';
  26.         }
  27.         if(!ereg("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$", $email)) {
  28.             $error_array['mail']='invalid email';
  29.         }
  30.         if (!ereg("^[a-zA-Z]{3,16}$",$name))
  31.         {
  32.             $error_array['name']='invalid name';
  33.         }
  34.        
  35.         if(!count($error_array)>0)
  36.         {
  37.             db_init();
  38.             //$sql='SELECT * FROM `users` WHERE login="' . addslashes($login) . '" OR email="' . addslashes($email) . '"';
  39.             //echo $sql;
  40.             //$res=mysql_query($sql);
  41.             //if($res and !is_bool($res)){
  42.             //$row= mysql_num_rows($res);
  43.             $rezultat = mysql_query('SELECT * FROM `users` WHERE login="' . addslashes($login) . '" OR email="' . addslashes($email) . '"');
  44.             $broj_na_redovete = mysql_num_rows($rezultat);
  45.             //}
  46.             //echo $row;
  47.             //print_r($row);
  48.         }
  49.        
  50.        
  51.     }
  52.     else
  53.     {
  54.         echo 'not submitted';
  55.     }
  56.    
  57.    
  58.     ?>
  59. <form action = "register.php" method = "POST">
  60.     Login:<input type="text" name="login" value="" />
  61.     <?php if($error_array['login']){
  62.         echo $error_array['login'];
  63.         } ?> <br>
  64.     Password:<input type="text" name="pass" value="" />
  65.         <?php if($error_array['login']){
  66.         echo $error_array['login'];
  67.         } ?> <br>
  68.     Retype password:<input type="text" name="pass2" value="" /><br>
  69.     Email:<input type="text" name="mail" value="" /><br>
  70.     Name:<input type="text" name="name" value="" /><br>
  71.     <input type="hidden" name="form_submit" value="1">
  72.     <input type="submit" name="" value="Register" /><br>
  73.    
  74. </form>
  75. <?php
  76. }
  77. else
  78. {
  79.     header('Location:index.php');
  80.     exit;
  81. }
  82.  
  83. footer();
  84. ?>
  85.  
отиди в чата!

п.п. явно не знаеш де е чата
какво е db_init(); ???
« Последна редакция: 11 Февруари 2012, 15:54:15 от HanKrum »