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

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

gatakka

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 19
  • Публикации: 681
MCF - форма за регистрация 2
« -: 14 Декември 2009, 01:49:58 »
** Тази тема дискутира:: MCF - форма за регистрация 2 **
Автор: Гатака
« Последна редакция: 14 Април 2015, 23:34:28 от Avalanche »
За да знаеш трябва да питаш,
но за да знаеш някой трябва да ти отговори на питанията.
Добре дошли в Научи Ме!

cHe3zYy

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 38
Отг:MCF - форма за регистрация 2
« Отговор #1 -: 18 Декември 2009, 16:20:49 »
Добър ден!
Изгледах видеото, включващо как да си направим форма ца регистрация(2).
Всичко си върви добрер но при изпълнението на:
......
Код: PHP
  1. db_init();
  2. $sql =  ' SELECT COUNT(*) as cnt FROM users WHERE username =  "  '  . addslashes($username) .  '  "  OR e-mail =  "  '  . addslashes($email) .  '  "  ' ;
  3. $res = mysql_query($sql);
  4. $row = mysql_fetch_assoc($res);
  5. if ($row[ ' cnt ' ] == 0)
.......

ми дава MySQL грешка, която ме показва, че функцията ( " mysql_fetch_assoc " ) приема само ресурси, а аз съм задал булева стойност o.O

Моля помогнете!
Да не би настройките ми да не са както трябва  :unsure:
« Последна редакция: 14 Април 2015, 23:34:57 от Avalanche »

walpsup

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 173
Отг:MCF - форма за регистрация 2
« Отговор #2 -: 18 Декември 2009, 16:48:44 »
Провери дали това, което е в MySQL базаданите, да не би някое от полетата да е с булева стойност.
Поздрави.

cHe3zYy

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 38
Отг:MCF - форма за регистрация 2
« Отговор #3 -: 18 Декември 2009, 17:10:16 »
Не, всичко е като по указанията...  :S

gatakka

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 19
  • Публикации: 681
Отг:MCF - форма за регистрация 2
« Отговор #4 -: 18 Декември 2009, 22:18:23 »
Виж лесно се дебъгва. Когато ти каже, че приема само ресурси значи ти не си и дал ресурс. Това значи, че ресурса е невалиден, а самият ресурс е заявката (mysql_query)
Просто напиши
echo mysql_error();
след mysql_query и ще видиш къде ти е грешката
За да знаеш трябва да питаш,
но за да знаеш някой трябва да ти отговори на питанията.
Добре дошли в Научи Ме!

cHe3zYy

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 38
Отг:MCF - форма за регистрация 2
« Отговор #5 -: 19 Декември 2009, 11:45:29 »
Нещо е грешно явно  :S
Ето и файла, ще съм ти много благодарен ако го погледнеш набързо...

gatakka

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 19
  • Публикации: 681
Отг:MCF - форма за регистрация 2
« Отговор #6 -: 19 Декември 2009, 11:50:09 »
Каква грешка ти дава?
За да знаеш трябва да питаш,
но за да знаеш някой трябва да ти отговори на питанията.
Добре дошли в Научи Ме!

cHe3zYy

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 38
Отг:MCF - форма за регистрация 2
« Отговор #7 -: 19 Декември 2009, 12:00:25 »
Registration Completed!
Много благодаря за обърнатото внимание  ;)
Прегледах уроците Reg1 и Reg2 и преписах всичко наново.
Не разбрах каква е грешката, но сега всичко е
tip-top! :)

tatriki

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 89
Отг:MCF - форма за регистрация 2
« Отговор #8 -: 21 Декември 2009, 22:59:38 »
и аз получавам същата грешка като колегата :)
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\\Program Files\\wamp\\www\\phpproject1\\register.php on line 45

като на 45 ред имам:
$row=mysql_fetch_assoc($res);

след като въведах echo mysql_error(); излезе следната грешка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near  '  " asdasdasdasd) '  at line 2

lamondbg

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 75
Отг:MCF - форма за регистрация 2
« Отговор #9 -: 22 Декември 2009, 00:49:09 »
tatriki написа:
Цитат
и аз получавам същата грешка като колегата :)
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\\Program Files\\wamp\\www\\phpproject1\\register.php on line 45

като на 45 ред имам:
$row=mysql_fetch_assoc($res);

след като въведах echo mysql_error(); излезе следната грешка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near  '  " asdasdasdasd) '  at line 2

Очевидно имаш проблем с кавичките. Дай код.

tatriki

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 89
Отг:MCF - форма за регистрация 2
« Отговор #10 -: 22 Декември 2009, 01:26:49 »
предполагам че трябва да е тук някъде:

 
Код: PHP
  1. if (!count($error_array)>0)
  2.        {
  3.            db_init();
  4.            $sql= ' SELECT COUNT(*) as address_book FROM users WHERE login= "  ' .addslashes($login). '  "  OR email= "  ' .addslashes($email). '  "  ' ;
  5.            $res=mysql_query($sql);
  6.            $row=mysql_fetch_assoc($res);
  7.            if ($row [ ' address_book ' ]==0)
  8.            {
  9.                mysql_query( ' INSERT INTO users (login,pass,email,name,date_regitred)
  10.               VALUES( "  ' .addslashes($login). '  " , "  ' .md5($pass). '  " , "  ' .addslashes($email)
  11.                . '  " , "  ' .addslashes($name). '  " , ' .time(). ' ) ' );
  12.                if (mysql_error())
  13.                {
  14.                    echo  ' <h1> грешка</h1> ' ;
  15.                }
  16.                else
  17.                {
  18.                    header( ' Location: index.php ' );
  19.                    exit;
« Последна редакция: 14 Април 2015, 23:35:09 от Avalanche »

kerkenez

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 2
  • -Получени: 14
  • Публикации: 1205
Отг:MCF - форма за регистрация 2
« Отговор #11 -: 22 Декември 2009, 01:37:03 »
date_regitred дали не трябва да е date_registered

tatriki

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 89
Отг:MCF - форма за регистрация 2
« Отговор #12 -: 22 Декември 2009, 01:44:16 »
проблема си остана :(

kerkenez

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 2
  • -Получени: 14
  • Публикации: 1205
Отг:MCF - форма за регистрация 2
« Отговор #13 -: 22 Декември 2009, 01:53:14 »
Нямам идея защто така става (може да е от домашното винце, де да знам :) )
#1 Виж коментара за същия проблем от Иван, по-горе.
#2 Пробвай да направиш реда така $res = (int) mysql_query($sql); (shot in the dark). Провери внимателно дали така ще работи коретно.
#3 Започни уока от начало и този път пиши дусловно.

cHe3zYy

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 38
Отг:MCF - форма за регистрация 2
« Отговор #14 -: 23 Декември 2009, 19:34:29 »
Ами след като се оправих, проблемът ми излезе и на други места така, но винаги се оказва, че имам накаква грешка в писането.Като я поправя и вскичко става OK.
Значи, ако сте забелязали, gatakka като сгреши нещо, му се поевява грешка, че не е снабдил mysql_fetch_assoc() с правилната информация.
При нас е същото, казано по друг начин, понеже сигурно ностройките ни са съвсем малко по-различни...
Да кажем, като сбъркаш нещо PHP приема $rs за  " false "  и така всъшност mysql_fetch_assoc() получава грешен параметър, но моля поправете ме ако греша, понеже не съм специалист  ;)
Така че, прегледайте си хубаво синтакса :)