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

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

gatakka

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

Beringer

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 13
Отг:MCF- администрация част 2
« Отговор #1 -: 19 Март 2010, 17:57:30 »
Здравейте!

В момента съм на този урок (7мин 59 сек) и когато заместя mysql_query с run_q получавам това :

Код: PHP
  1. Warning: mysql_numrows() expects parameter 1 to be resource, boolean given in groups.php on line 16

Като напиша mysql_error получавам :

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation  ' = '


Ето го и кода на groups.php

Код: PHP
  1. <?php
  2. include  ' functions.php ' ;
  3. my_adminheader( " Категории " );
  4. db_init();
  5. if($_POST[ ' ng ' ]==1)
  6. {
  7.     $name=addslashes(trim($_POST[ ' group_name ' ]));
  8.     $desc=addslashes(trim($_POST[ ' description ' ]));
  9.     if(strlen($name)>4)
  10.         {
  11.         $id=(int)$_POST[ ' edit_id ' ];
  12.  
  13.         $rs=run_q( ' SELECT * FROM cat WHERE name= "  ' .$name. '  " AND cat_id!= ' .$id);
  14.         echo mysql_error();
  15.         if(!mysql_numrows($rs)>0)
  16.         {
  17.         if($id>0)
  18.         {
  19.         run_q( ' UPDATE cat SET name= "  ' .$name. '  " , description= "  ' .$desc. '  "  WHERE cat_id= ' .$id);
  20.         echo  ' Информацията е обновена успешно! ' ;
  21.         }
  22.         else
  23.         {
  24.         run_q( ' INSERT INTO cat (name,description)
  25.                VALUES( "  ' .$name. '  " , "  ' .$desc. '  " ) ' );
  26.                 echo  ' Информацията е запазена успешно в базата данни ' ;
  27.         }
  28.         }
  29.         else
  30.         {
  31.         //error
  32.         echo  ' Името съществува ' ;
  33.     }
  34.     }
  35.    
  36. }
  37. if($_GET[ ' mode ' ]== " edit "  && $_GET[ ' id ' ]>0)
  38. {
  39.     $id=(int)$_GET[ ' id ' ];
  40.     $rs=run_q( ' SELECT * FROM cat WHERE cat_id= ' .$id);
  41.     $ed_info=mysql_fetch_assoc($rs);
  42. }
  43.  
  44. echo  ' <form method= " post "  action= " groups.php " >
  45.    Име на групата: <input type= " text "  name= " group_name "  value= "  ' .$ed_info[ ' name ' ]. '  " >
  46.  
  47.    Описание : <textarea name= " description "  rows= " 5 "  cols= " 50 " > ' .$ed_info[ ' description ' ]. '
« Последна редакция: 14 Април 2015, 23:41:43 от Avalanche »

Beringer

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 13
Отг:MCF- администрация част 2
« Отговор #2 -: 19 Март 2010, 18:38:52 »
П.С.

Проблема се появява само когато се опитвам да въведа нещо написано на кирилица.

UzU

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 11
Отг:MCF- администрация част 2
« Отговор #3 -: 19 Март 2010, 22:52:24 »
$rs=run_q( ' SELECT * FROM cat WHERE name= "  ' .$name. '  " AND cat_id!= ' .$id);
тук след name= "  ' .$name. '  "  си пропуснал празно място. А за грешката провери дали таблицата ти не е в различен тип кодиране и ако е го промени на същия който е в run_q функцията(utf_general_ci най-добре).

Beringer

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 13
Отг:MCF- администрация част 2
« Отговор #4 -: 19 Март 2010, 23:18:23 »
Интересно... Базата ми е с кодировка utf8_general_ci а самите таблици в нея са с кодировка latin1_swedish_ci.

Благодаря за отговора! След като оправих таблиците всичко си дойде на мястото.

Деан Христов

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 1
  • Публикации: 41
    • Деан Христов
Отг:MCF- администрация част 2
« Отговор #5 -: 17 Април 2010, 23:37:33 »
Здравейте при мен се получава много странен проблем когато вавеждам погрешно информация в полетата ми вади следните грешки
.......................
Warning: mysql_query() [function.mysql-query]: Access denied for user  ' ODBC ' @ ' localhost '  (using password: NO) in C:\\xampp\\htdocs\\mcf\\register.php on line 33

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\\xampp\\htdocs\\mcf\\register.php on line 33

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\\xampp\\htdocs\\mcf\\register.php on line 34

Warning: mysql_query() [function.mysql-query]: Access denied for user  ' ODBC ' @ ' localhost '  (using password: NO) in C:\\xampp\\htdocs\\mcf\\register.php on line 38

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\\xampp\\htdocs\\mcf\\register.php on line 38
Access denied for user  ' ODBC ' @ ' localhost '  (using password: NO)
........
но когато всичко е ваведено правилно нямам никакъв проблем надявам се да сте ме разбрали ще чакам инфо етого и самия файл:
...................
ragister.php
........
Код: PHP
  1. <?php
  2. include  ' function.php ' ;
  3. if(!$_SESSION[ ' is_logged ' ]==true)
  4.     {
  5.    
  6.     if($_POST[ ' form_sub ' ]==1)
  7.     {
  8.         $name=trim($_POST[ ' login ' ]);
  9.         $pass=trim($_POST[ ' pass ' ]);
  10.        
  11.         $mail=trim($_POST[ ' mail ' ]);
  12.         $realname=trim($_POST[ ' rea_name ' ]);
  13.         if(strlen($name)<4)
  14.         {
  15.             $error_array[ ' login ' ]= ' Невалидно име! ' ;
  16.         }
  17.         if(strlen($pass)<4)
  18.         {
  19.             $error_array[ ' pass ' ]= ' Невалидна парола! ' ;
  20.         }
  21.      
  22. if(!eregi( " ^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\\.[a-z]{2,4}$ " , $mail))
  23. {
  24.      $error_array[ ' mail ' ]= ' Невалиден адрес! ' ;
  25. }
  26.     }
  27.     if(!count($error_array)>0)
  28.         {
  29.         db_init();
  30.     }
  31.  $sql= ' SELECT COUNT(*)as cnt FROM users WHERE login= "  ' .addslashes($name). '  "  OR email= "  ' .addslashes($mail). '  "  ' ;
  32. $res=mysql_query($sql);
  33. $row=mysql_fetch_assoc($res);
  34. if($row[ ' cnt ' ]==0)
  35.     {
  36.     mysql_query( ' INSERT INTO users(login,pass,real_name,email,date_registered)
  37.        VALUES( "  ' .addslashes($name). '  " , "  ' .md5($pass). '  " , "  ' .addslashes($realname). '  " , "  ' .addslashes($mail). '  " , ' .time(). ' ) ' );
  38.     if(mysql_error())
  39.         {
  40.         echo mysql_error();
  41.         echo  ' <h1>Грешка моля опитайте отново</h1> ' ;
  42.         }
  43.         else
  44.             {
  45.             header( ' Location: index.php ' );
  46.         }
  47.     }
  48.     else
  49.         {
  50.         $error_array[ ' mail ' ]= ' Невалиден адрес! ' ;
  51.         $error_array[ ' login ' ]= ' Невалидно име! ' ;
  52.     }
  53.  
  54.  
  55.    
  56.    my_hedar( " Регистрация " );
  57.     ?>
  58.  
  59. <form method= " post "  action= " register.php " >
  60.    Login:
  61.  
  62.    <input type= " text "  name= " login "  value= "  "  />
  63.    <?php if($error_array[ ' login ' ])
  64.    {
  65.        echo  $error_array[ ' login ' ];
  66.    }?>
  67.        
  68.  
  69.    Парола:
  70.  
  71.    <input type= " password "  name= " pass "  value= "  "  />
  72.     <?php if($error_array[ ' pass ' ])
  73.    {
  74.        echo  $error_array[ ' pass ' ];
  75.    }?>
  76.  
  77.    
  78.    mail:
  79.  
  80.    <input type= " mail "  name= " mail "  value= "  "  />
  81.      <?php if($error_array[ ' mail ' ])
  82.    {
  83.        echo  $error_array[ ' mail ' ];
  84.    }?>
  85.  
  86.    име:
  87.  
  88.    <input type= " text "  name= " real_name "  value= "  "  />
  89.  
  90.    <input type= " submit "  name= "  "  value= " Регистрираи се "  />
  91.  
  92.    <input type= " hidden "  name= " form_sub "  value= " 1 "  />
  93. </form>
  94. <?php
  95. }
  96. else
  97. {
  98. echo  ' <h1>error submited</h1> ' ;
  99. }
  100. footer();
« Последна редакция: 14 Април 2015, 23:42:05 от Avalanche »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 94
  • Публикации: 4836
Отг:MCF- администрация част 2
« Отговор #6 -: 17 Април 2010, 23:54:11 »
Warning: mysql_query() [function.mysql-query]: Access denied for user  ' ODBC ' @ ' localhost '  (using password: NO) in C:\\xampp\\htdocs\\mcf\\register.php on line 33
нямаш правилни права за тоя потребител
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 94
  • Публикации: 4836
Отг:MCF- администрация част 2
« Отговор #7 -: 17 Април 2010, 23:58:51 »
от къде ти дойде на акъла тоя потребител ODBC или си щракал код от тук от там в нета?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

kerkenez

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 2
  • -Получени: 14
  • Публикации: 1205
Отг:MCF- администрация част 2
« Отговор #8 -: 18 Април 2010, 15:22:33 »
echeveria написа:
Цитат
от къде ти дойде на акъла тоя потребител ODBC или си щракал код от тук от там в нета?
ODBC = Open DataBase Connectivity - демек се опитва да направи query-то без преди това да е направил mysql_connect() и mysql_select_db()
Та hard_dido, първо ще трябва да установиш връзка с базата и тогава да и пращаш заявки.

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 94
  • Публикации: 4836
Отг:MCF- администрация част 2
« Отговор #9 -: 18 Април 2010, 15:25:13 »
Абе аз видях какво е ODBC, и за това питам от къде му е дошло на акъла.
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

dj_ee3

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 3
Отг:MCF- администрация част 2
« Отговор #10 -: 28 Април 2010, 05:16:00 »
Получавам следната грешка

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/evgeni/public_html/mcf/register.php on line 39

Warning: Cannot modify header information - headers already sent by (output started at /home/evgeni/public_html/mcf/register.php:39) in /home/evgeni/public_html/mcf/register.php on line 51
Като 2-рата се показва дори и като сменя мястото на my_header( ' registration ' ); да е най отзад.
Ето целия ми код
<?php
session_start
();
include  &
#39; functions.php &#39; ;
if(!$_SESSION[ &#39; is_logged &#39; ]==true)
{
    
    if (
$_POST[ &#39; form_submit &#39; ]==1)   
    
{
        
$login=trim($_POST[ &#39; login &#39; ]);
        
$pas=trim($_POST[ &#39; pass &#39; ]);
        
$pas2=trim($_POST[ &#39; pass2 &#39; ]);
        
$email=trim($_POST[ &#39; mail &#39; ]);
        
$name=trim($_POST[ &#39; name &#39; ]);
        
if(strlen($login)<4)
        {
            
$error_array[ &#39; login &#39; ]= &#39; Invalid Name &#39; ;
        
}
        if(
strlen($pas)<4)
        {
            
$error_array[ &#39; pass &#39; ]= &#39; Short Password &#39; ;
        
}
        if(
$pas!=$pas2)
        {
            
$error_array[ &#39; pass &#39; ]= &#39; Password do not match &#39; ;
        
}
        if(!
eregi" ^[a-z0-9_.-]*@[a-z0-9.-]+\\.[a-z]{2,4}$ " $email ))
{
            
$error_array[ &#39; mail &#39; ]= &#39; Invalid e-mail address &#39; ;
        
}
        if (!
ereg" ^[a-zA-Z]{3,16}$ " ,$name))
        {
            
$error_array[ &#39; name &#39; ]= &#39; Invalid name &#39; ;
}
        if (!
count($error_array)>0)
        {
            
db_init();
            
$sql= &#39; SELECT COUNT(*) as cnt FROM users WHERE login= "  &#39; .addslashes($login). &#39;  "  OR email "  &#39; .addslashes($email). &#39;  "  &#39; ;
            
$res=mysql_query($sql);
            
$row=mysql_fetch_assoc($res);
            if(
$row[ &#39; cnt &#39; ]==0) 
{
mysql_query( &#39; INSERT INTO users (login, pass, real_name, email, date_registered)
VALUES"  &#39;  .addslashes($login). &#39;  " "  &#39; .md5($pas). &#39;  " "  &#39;  .addslashes($name). &#39;  " ,  "  &#39;  .addslashes($email). &#39;  " , &#39; .time(). &#39; )  &#39; );
if(mysql_error())
{
echo  &#39; <h1>Error, please try again</h1> &#39; ; 
echo mysql_error(); 
}
else
{
header( &#39; Location: index.php &#39; );
exit;
}
}  
else
{
$error_array[ &#39; login &#39; ]=  &#39; Name or address are already in use &#39; ;
$error_array[ &#39; mail &#39; ]=  &#39; Name or address are already in use &#39; ;  
}
        }
  
 }
    
my_header( &#39; registration &#39; );
    
?>

    <form action= " register.php "  method= " post " >
    Login: <input type= " text "  name= " login "  value= "  "  />
    <?php
    
if($error_array[ &#39; login &#39; ])
    
{
        echo  &
#39; Invalid Login &#39; ;
    
}
    
?>
 

    Password: <input type= " text "  name= " pass "  value= "  "  />
    <?php
    
if($error_array[ &#39; pass &#39; ])
    
{
        echo  &
#39; Invalid Password &#39; ;
    
}
    
?>


    Repeat Password: <input type= " text "  name= " pass2 "  value= "  "  />

    Email:  <input type= " text "  name= " mail "  value= "  "  />
    <?php
    
if($error_array[ &#39; email &#39; ])
    
{
        echo  &
#39; Invalid E-mail &#39; ;
    
}
    
?>
 

    Real name: <input type= " text "  name= " name "  value= "  "  />
    <?php
    
if($error_array[ &#39; name &#39; ])
    
{
        echo  &
#39; Invalid Name &#39; ;
    
}
    
?>


    <input type= " hidden "  name= " form_submit "  value= " 1 "   />
    <input type= " submit "  name= " submit "  value= " Register yourself "  />

    </form>
    <?php
    footer
();
   
}
else
{
    
header( &#39; Location= index.php &#39; );
    
exit;
}
?>
знам че темата е стара но се надявам някой да я види!
« Последна редакция: 02 Декември 2010, 22:40:55 от borovaka »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 94
  • Публикации: 4836
Отг:MCF- администрация част 2
« Отговор #11 -: 28 Април 2010, 09:25:12 »
Имаш някаква грешка в заявката и той подава невярна информация която не може да бъде обработена правилно.
Не съм прегледал още целия код обаче видях :  header( ' Location= nau4i.me/index.php ' );
Тоя знак равно нещо не ми харесва, а на теб?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 94
  • Публикации: 4836
Отг:MCF- администрация част 2
« Отговор #12 -: 28 Април 2010, 09:32:40 »
и каква е тази заявка?
            $sql= ' SELECT COUNT(*) as cnt FROM users WHERE login= "  ' .addslashes($login). '  "  OR email "  ' .addslashes($email). '  "  ' ;
При селект не виждам защо да има addslashes?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

wicked92

  • Full Member
  • ***
  • Благодарности
  • -Казани: 13
  • -Получени: 7
  • Публикации: 178
Отг:MCF- администрация част 2
« Отговор #13 -: 29 Април 2010, 17:12:03 »
 ' SELECT COUNT(*) as cnt FROM users WHERE login= "  ' .addslashes($login). '  "  OR email= "  ' .addslashes($email). '  "  ' ;
 (изпуснал си = след email ) ;)

addslashes() - използва се при запис в базата - слага наклонени черти на мястото на кавичките
stripslashes() - използва се при СЕЛЕКТиране от базата ( в твоя случей) и маха наклонените чертим сложени от addslashes()
http://php.net :woohoo:

А за втората ти грешка - неможеш да извършваш никакви пренасочвания, след като си използвал някакъв HTML tag.  ;)

Незнам защо, но имам чувството, че някои хора като гледат уроците карат на  " copy-paste "  :angry: ... ако се напънете и малко да слушате съм сигурен, че голяма част от грешките няма да се появят  ;)

brazzerZ

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 19
Re: MCF- администрация част 2
« Отговор #14 -: 04 Август 2011, 16:25:08 »
Пак съм аз  :o.

Когато напиша името и описанието на група на кирилица изобщо не го записва в дб.

[
« Последна редакция: 05 Август 2011, 23:53:29 от brazzerZ »