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

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

amxx

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 9
Re: MCF- администрация част1
« Отговор #30 -: 05 Април 2016, 22:40:39 »
Мда излиза  true

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: MCF- администрация част1
« Отговор #31 -: 05 Април 2016, 22:56:13 »
Крайно време е да направим малко по-съвременни уроци, че от тия ми избива комплекса за малоценност. Понеже гледам формата се ползва и за редактиране и за добавяне, пробвай така:

Код: PHP
  1. echo '<form action="groups.php" method="POST">
  2.    Name of the group:<input type="text" name="group_name" value="'. isset($ed_info['name']) ? $ed_info['name'] : '' .'"/><br/>
  3.    Description:<textarea name="desc" rows="5" cols="50" placeholder="Write some words about you">'. isset($ed_info['desc']) ? $ed_info['desc'] : '' .'</textarea><br />
  4.    <input type="submit" value="Save"/>
  5.    <input type="hidden" name="ng" value="1"/>';

Оригиналния код разчита да не са пуснати определени нива на показване на грешки, което е голяма мъка. С ползването на третичния оператор [условие ? вярно : грешно], напрактика може да провериш дали ключа от масива съществува (isset($ed_info['ключ'])), ако е така да го покажеш, или в противен случай да се покаже празен низ (''). Надявам се да разбираш къде идва целия проблем, то го пише в описанието на самата грешка
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: MCF- администрация част1
« Отговор #32 -: 06 Април 2016, 01:49:21 »
Щом излиза TRUE, следващата стъпка е да тестваш кво ти връща базата.

Пробвай следното и дай да видим инфото:

Код: PHP
  1. if (isset($_GET['mode'])=="edit" && isset($_GET['id'])>0) {
  2.     $id=(int)isset($_GET['id']);
  3.     $rs= mysql_query('SELECT * FROM group_cat WHERE group_cat_id="'.$id.'"');
  4.     $ed_info=  mysql_fetch_assoc($rs);
  5.  
  6. var_dump( $ed_info); exit;
  7. }
  8.  

 
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

amxx

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 9
Re: MCF- администрация част1
« Отговор #33 -: 06 Април 2016, 20:18:25 »
Щом излиза TRUE, следващата стъпка е да тестваш кво ти връща базата.

Пробвай следното и дай да видим инфото:

Код: PHP
  1. if (isset($_GET['mode'])=="edit" && isset($_GET['id'])>0) {
  2.     $id=(int)isset($_GET['id']);
  3.     $rs= mysql_query('SELECT * FROM group_cat WHERE group_cat_id="'.$id.'"');
  4.     $ed_info=  mysql_fetch_assoc($rs);
  5.  
  6. var_dump( $ed_info); exit;
  7. }
  8.  



array(5) { ["group_cat_id"]=> string(1) "1" ["name"]=> string(9) "aaaaaaaaa" ["active"]=> string(1) "1" ["date_added"]=> string(10) "1459796327" ["desc"]=> string(17) "aaaaaaaaaaaaaaaaa" }

amxx

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 9
Re: MCF- администрация част1
« Отговор #34 -: 06 Април 2016, 20:48:51 »
Крайно време е да направим малко по-съвременни уроци, че от тия ми избива комплекса за малоценност. Понеже гледам формата се ползва и за редактиране и за добавяне, пробвай така:

Код: PHP
  1. echo '<form action="groups.php" method="POST">
  2.    Name of the group:<input type="text" name="group_name" value="'. isset($ed_info['name']) ? $ed_info['name'] : '' .'"/><br/>
  3.    Description:<textarea name="desc" rows="5" cols="50" placeholder="Write some words about you">'. isset($ed_info['desc']) ? $ed_info['desc'] : '' .'</textarea><br />
  4.    <input type="submit" value="Save"/>
  5.    <input type="hidden" name="ng" value="1"/>';

Оригиналния код разчита да не са пуснати определени нива на показване на грешки, което е голяма мъка. С ползването на третичния оператор [условие ? вярно : грешно], напрактика може да провериш дали ключа от масива съществува (isset($ed_info['ключ'])), ако е така да го покажеш, или в противен случай да се покаже празен низ (''). Надявам се да разбираш къде идва целия проблем, то го пише в описанието на самата грешка
Така като го направя ми изчезват полетата за добавяне - на снимката се вижда

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: MCF- администрация част1
« Отговор #35 -: 06 Април 2016, 20:49:36 »
Всичко е наред според мен на първо четене.  Имаш 5 масива от които два от тях искаш да покажеш стойностите им. Не знам защо получаваш тази грешка. 
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

kjufte

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 1
  • -Получени: 51
  • Публикации: 308
Re: MCF- администрация част1
« Отговор #36 -: 06 Април 2016, 23:27:30 »
Аз като гледам ми се струва, че ползваш функцията isset навсякъде грешно. Или поне я комбинираш грешно в кода си. Тя връща булева стойност true или false. 

Та като кажеш примерно

Код: PHP
  1. $id = (int) isset($_POST['edit_id']);

и приемем, че 'edit_id' съществува и не е NULL, то тогава горния ред се равнява на

Код: PHP
  1. $id = (int) (true);

което пък след каст на булевата стойност се равнява на

Код: PHP
  1. $id = 1;

Код: PHP
  1. <?php
  2. ...
  3. if (isset($_POST['ng'])==1) {
  4.     ...[url][/url]
  5.     if (!mysql_num_rows($rs)>0) {
  6.         $id=(int)isset($_POST['edit_id']);
  7.         ...
  8.     }else {
  9.         ...
  10.     }
  11. }
  12. ...
  13. if (isset($_GET['mode'])=="edit" && isset($_GET['id'])>0) {
  14.     $id=(int)isset($_GET['id']);
  15.     ...
  16. }
  17.  
  18. ...
  19.  
  20. if (isset($_GET['mode'])=="edit" ) {
  21.     echo '<input type="hidden" name="edit_id" vlaue="'.$_GET['id'].'"/>';
  22. }
  23.  
  24. ...

С isset() проверяваш само дали променливата съществува. Ако искаш да правиш проверка на стойността и, то правиш това след isset(). Примерно

Код: PHP
  1. // съществува ли $_GET['id']?
  2. if(isset($_GET['id']) {
  3.    // съществува! да проверим дали е по-голяма от 0  
  4.    if($_GET['id'] > 0) {      
  5.    }
  6. }
« Последна редакция: 06 Април 2016, 23:34:16 от kjufte »