Код (Text): debug_mode=true; а почему не хотите использовать ассоциативные индексы?удобнее ведь, не? 2all в каких случаях пригождаются числовые индексы?
Padaboo спасибо за совет! Я бы с удовольствием поморочился, только время поджимает, пишу форум по книжке, сверяю с текстом, вроде все ровно, но выдает ошибку про дебаг можно чуть чуть поподробнее, пхп начал осваивать недавно
wride да это так шутка про Код (Text): debug_mode=true; еще у меня есть Код (Text): telepat_mode=true; я не много под шафэ, поэтому соображаю очень туго) советую загуглить посмотреть несколько результатов там есть объяснение ошибки и собственно сам вывод ошибок mysql_error() и загуглить "название книжки ошибка"
Благодарю за советы=) Simpliest Мне эта статья очень помогла=) в данном случае, нашел не одну ошибку благодаря ей=)
а можно сделать sql запрос, что бы выборка из базы завершалась при первом же соответствии запросу и дальше база не перелопачивалась.
не, запрос из 1 таблицы. это как раз то что надо было. з.ы. ток что понял что пишу не по теме точняк блондин
Люди помогите нубу!! В общем скрипт должен добавлять данные в бд. При обработке выползает ошибка Parse error: syntax error, unexpected T_LNUMBER in Z:\home\localhost\ordersong.php on line 10 PHP: <?php $array[ispolnitel] = trim($array["ispolnitel"]); $array[nazvanie] = trim($array["nazvanie"]); $host="localhost"; $user="admin"; $password=""; $dbname="radio"; $tablename="ordersong"; $link = mysql_connect ($host, $user, $password); $sql = "INSERT into $tablename values ("0", "$ispolnitel", "$nazvanie")"; mysql_close ($link); print("Connection closed"); ?> Где может быть ошибка????
1. <?php 2. 3. /** 4. * @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870 5. * http://www.ck-web-creation-alsace.com 6. * http://www.joomlack.fr.nf 7. * Module Maximenu_CK for Joomla! 1.5 8. * @license GNU/GPL 9. * Version 3.4 10. * */ 11. // no direct access 12. defined('_JEXEC') or die('Restricted access'); 13. 14. class modmaximenu_CKHelper { 15. 16. function GetMenu(&$params) { 17. jimport('joomla.application.module.helper'); 18. 19. 20. //récupère les paramètres mootools 21. $mooduree = $params->get('mooduration', 500); 22. $mootransition = $params->get('mootransition', 'Bounce'); 23. $mooease = $params->get('mooease', 'easeOut'); 24. $usemootools = $params->get('usemootools', '1'); 25. $orientation = $params->get('orientation', '0'); 26. $usecss = $params->get('usecss', '1'); 27. $menuID = $params->get('menuid', 'maximenuCK'); 28. $usefancy = $params->get('usefancy', '1'); 29. 30. 31. 32. 33. //ajoute les documents externes 34. $document = &JFactory::getDocument(); 35. if ($orientation == 1) { 36. $document->addStyleSheet(JURI::base() . 'modules/mod_maximenu_CK/assets/moo_maximenuV_CK.css'); 37. if ($usecss == 1) 38. $document->addStyleSheet(JURI::base() . 'modules/mod_maximenu_CK/assets/maximenuV_CK.php?monid=' . $menuID); 39. } else { 40. $document->addStyleSheet(JURI::base() . 'modules/mod_maximenu_CK/assets/moo_maximenuH_CK.css'); 41. if ($usecss == 1) 42. $document->addStyleSheet(JURI::base() . 'modules/mod_maximenu_CK/assets/maximenuH_CK.php?monid=' . $menuID); 43. } 44. 45. 46. 47. //pour IE6 48. $stylelink = '<!--[if lte IE 6]>' . "\n"; 49. $stylelink .= '<link rel="stylesheet" href="modules/mod_maximenu_CK/assets/maximenu_CK_IE6.css" />' . "\n"; 50. $stylelink .= '<![endif]-->' . "\n"; 51. $document->addCustomTag($stylelink); 52. 53. 54. 55. //inclut effets mootools si choisi 56. if ($usemootools == 1) { 57. JHTML::_("behavior.mootools"); 58. $document->addScript(JURI::base() . 'modules/mod_maximenu_CK/assets/moo_maximenu_CK.js'); 59. 60. //lance la fonction de déroulement 61. $js = "window.addEvent('domready', function() {new DropdownMaxiMenu(\$E('div#" . $menuID . "'),{" 62. . "mooTransition : '" . $mootransition . "'," 63. . "mooEase : '" . $mooease . "'," 64. . "mooDuree : " . $mooduree . "});" 65. . "});"; 66. 67. $document->addScriptDeclaration($js); 68. } else { 69. $script = 'window.addEvent(\'domready\', function() { 70. var sfEls = document.getElementById("' . $menuID . '").getElementsByTagName("li"); 71. for (var i=0; i<sfEls.length; i++) { 72. 73. sfEls.onmouseover=function() { 74. this.className+=" sfhover"; 75. } 76. 77. sfEls.onmouseout=function() { 78. this.className=this.className.replace(new RegExp(" sfhover\\\\b"), ""); 79. } 80. } 81. });'; 82. $document->addScriptDeclaration($script); 83. } 84. 85. //si effet fancy 86. if ($usemootools == 1 && $orientation != 1 && $usefancy == 1) { 87. $document->addScript(JURI::base() . 'modules/mod_maximenu_CK/assets/fancymenu_CK.js'); 88. 89. $js = "window.addEvent('domready', function() {new SlideList(\$E('ul','div#" . $menuID . "'),{" 90. . "transition : Fx.Transitions.backOut," 91. . "duration : 700});" 92. . "});"; 93. 94. $document->addScriptDeclaration($js); 95. } 96. 97. 98. //cherche les infos dans la base de données 99. $menutype = $params->get('menutype', 'mainmenu'); 100. $db = & JFactory::getDBO(); 101. $query = " 102. SELECT * 103. FROM #__menu 104. WHERE menutype='" . $menutype . "' AND published=1 105. ORDER BY sublevel DESC,ordering 106. ;"; 107. $db->setQuery($query); 108. $rows = $db->loadObjectList('id'); 109. 110. //récupère l'utilisateur courant 111. $user = & JFactory::getUser(); 112. $urights = $user->get('aid', 0); 113. 114. //récupère l'ID de l'item actif 115. $menu = &JSite::getMenu(); 116. $active = $menu->getActive(); 117. 118. //crée une liste de référence avec les modules 119. $modulesList = modmaximenu_CKHelper::CreateModulesList(); 120. 121. //crée l'architecture du menu 122. $level = 0; 123. $items = array(); 124. $i = 0; 125. 126. 127. foreach ($rows as $item) { 128. //enregistre les enfants dans leur parent respectif 129. if ($item->sublevel > 0) { 130. $rows[$item->parent]->haschild = 'yes'; 131. if (isset($item->haschild)) { 132. $rows[$item->parent]->enfants.=$item->id . '|' . $item->enfants; 133. } else { 134. $rows[$item->parent]->enfants.=$item->id . '|'; 135. } 136. 137. 138. //ajout des classes enfants 139. 140. if (isset($active) && $active->id == $item->id) { 141. 142. 143. $j = $item->sublevel; 144. 145. $tempitemID = $item->parent; 146. 147. while ($j != 0) { 148. 149. $rows[$tempitemID]->classe .= " active"; 150. 151. $tempitemID = $rows[$tempitemID]->parent; 152. 153. $j--; 154. } 155. } 156. if (isset($item->haschild)) { 157. $item->classe .= " parent"; 158. } 159. } 160. //crée les enfants sous les parents 161. if ($item->sublevel == 0 && $urights >= $item->access) { //gestion des droits des parents niveau 0 162. $items[$i] = $item; 163. if (isset($item->haschild)) { 164. $item->classe .= " parent"; 165. $childs = explode("|", $item->enfants); 166. foreach ($childs as $c) { 167. if ($c) { 168. $i++; 169. 170. // gestion des droits des enfants 171. if (($urights >= $rows[$rows[$c]->parent]->access) && ($urights >= $rows[$c]->access)) { 172. $items[$i] = $rows[$c]; 173. } else { 174. $i--; 175. } 176. } 177. } 178. } 179. } else { 180. $i--; 181. } 182. $i++; 183. } 184. 185. 186. 187. foreach ($items as $i => &$item) { 188. $item->deeper = (isset($items[$i + 1]) && ($item->sublevel < $items[$i + 1]->sublevel)); 189. $item->shallower = (isset($items[$i + 1]) && ($item->sublevel > $items[$i + 1]->sublevel)); 190. $item->level_diff = (isset($items[$i + 1])) ? ($item->sublevel - $items[$i + 1]->sublevel) : $item->sublevel; 191. $item->is_end = !isset($items[$i + 1]); 192. 193. // 194. //pour J1.6 195. //$item->params = new JObject(json_decode($item->params)); 196. //$menu_secure = $item->params->get('secure' 197. //pour J1.5 198. $menu_params = new stdClass(); 199. $menu_params = new JParameter($item->params); 200. $menu_secure = $menu_params->def('secure', 0); [/code][/php]
Parse error: parse error, unexpected '&', expecting T_VARIABLE or '$' in x:\home\localhost\www\template\modules\mod_maximenu_CK\helper.php on line 187
У меня подобная ошибка была а теперь проблема. Базу данных создал в phpMyAdmin. БД - users. В ней одна таблица - user. В таблице четыре поля: id - это primary key и auto_increment, тип - int. e-mail - тип text. nickname - тип text. password - тип text. Заполнил в том же phpMyAdmin две строчки. Дальше код. Пока просто разбираюсь с MySQL, поэтому на ввод проверок не делаю. 1 страница: HTML: <form action="registration.php" method="get"> <table border=0> <tr><td>Почта</td><td><input type=text name="email"/></td></tr> <tr><td>Имя</td><td><input type=text name="nickname"/></td></tr> <tr><td>Пароль</td><td><input type=password name="pass"/></td></tr> <tr><td></td><td><input type=submit value="Зарегестрироваться"/></td></tr> </table> </form> Здесь без вопросов: проверка на следующей странице подтверждает, что вроде все ок. 2 страница: вначале просто проверяю, передаются ли данные с предидущей страницы: PHP: Вы ввели следующие данные:<br/> Почта: <?echo $_GET['email']?><br/> Имя: <?echo $_GET['nickname']?><br/> Пароль: <?echo $_GET['pass']?><br/> Дальше делаю переменные для ввода в базу новой строки: PHP: <? $dbhost ="localhost"; $dbuser ="root"; $dbpass ="hello13"; $email=$_GET['email']; $nickname=$_GET['nickname']; $pass=$_GET['pass']; $query=" INSERT INTO users.user ( e-mail , nickname , password ) VALUES ($email,$nickname,$pass} ) "; Делаю ввод: PHP: if($connect=mysql_connect($dbhost,$dbuser,$dbpass)) { echo "соединение установлено.<br/>"; if($select_db=mysql_select_db('users',$connect)) {echo 'Соединение с базой установлено<br/>';} else {echo 'Соединение с базой тупит<br/>';} if(mysql_query($query,$connect)) echo "Данные успешно занесены.<br/>"; else {echo "Данные где-то тупят.<br/>";mysql_error();} } Далее вывод всей таблицы(здесь тожде вопросов нет, но на всякий случай привожу весь код): PHP: $db = mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("users",$db); $result = mysql_query("SELECT * FROM user",$db); $num_rows = mysql_num_rows($result); for ($i=0;$i<$num_rows;$i++) { printf("email: %s<br>\n", mysql_result($result,$i,"e-mail")); printf("NickName: %s<br>\n", mysql_result($result,$i,"nickname")); printf("Password: %s<br>\n", mysql_result($result,$i,"password")); } ?> В итоге выводится следующая картина: Вы ввели следующие данные: Почта: 1 Имя: 2 Пароль: 3 соединение установлено. Соединение с базой установлено Данные где-то тупят. email: admin NickName: admin Password: hello13 email: 5 NickName: 5 Password: 5 То есть вначале выдавало ошибку Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ... А когда сделал переменные $email=$_GET['email']; $nickname=$_GET['nickname']; $pass=$_GET['pass']; Просто ничего не делает. Что не так, можете подсказать???
Спасибо за внимание, запрос надо было задать вот так: $query="INSERT INTO users.user (`e-mail`, `nickname`, `password`) VALUES ('{$email}', '{$nickname}', '{$pass}')";