За последние 24 часа нас посетили 17719 программистов и 1710 роботов. Сейчас ищут 1604 программиста ...

ошибка syntax error, unexpected T_VARIABLE

Тема в разделе "Вопросы от блондинок", создана пользователем kfurious, 15 авг 2008.

  1. rex512

    rex512 Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    5
    Симпатии:
    0
    Apple
    short_open_tags у меня включено
     
  2. lanc777

    lanc777 Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    59
    Симпатии:
    0
    строка 13 ; не стоит
     
  3. lanc777

    lanc777 Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    59
    Симпатии:
    0
    PHP:
    1. echo "<tr><td><a href='HOME".$i."\.php' class='npanel'></td></tr>";
    вместо 3 echo 1 лучше
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ты знаешь, не глупость. Я когда первую книгу по РНР прочел, то и не знал про Undefined Index. Узнавал существование переменной через if ($_POST["var"])... Только на форуме потом что-то про isset заметил и налистал в документации функцию.
    Когда только-только начинал программировать, то пользовался чужими скриптами (потому что сам еще не мог такие написать) и там была стилистика if ($var) { echo 1; if ($var2) {echo 3}}. И первое время я так же писал, пока не прочел, что это плохо и просто доверился этим словам. Только потом, набравшись опыта, понял, что тема про оформление кода была актуальна и необходима.

    Если ты прочтешь книги от быдлокодеров, которые пишут html вот так: <A HREF=HTTP://MYSITE.COM>link</A>, то ты так же и будешь писать, не подозревая, как же правильно. Тем не менее, книг таких много. Я периодически захожу в книжные и листаю "самоучители", таких косяков от горе-авторов 80%. Книги эти тонкие и дешевые, что больше привлекает человека, нежели высокая цена и большое количество страниц (ведь это нужно осилить, а на начальном этапе мало кто понимает, что хорошо, а что плохо: "как можно кодить по-разному?").

    Все это очень легко передается и паразитирует.
     
  5. kostyl

    kostyl Guest

    Так же в книгах полно отпечатков и прочей херни.
    В одной из книг по разработке отлично написано, что не надо верить словам "Так надо делать ибо мы все время так делали", и как оказывается все время ошибались и несколько таких всяких нюансов, по-моему в ней. Ни разу не пожалел что купил ее. Кому интересно, я ее рекламировал в разделе про книги.
     
  6. TOK

    TOK Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    PHP:
    1. <?php
    2. 75 mysql_query('CREATE TABLE people(idMatch INT, id1 INT, id2 INT, id3 INT, id4 INT, id5 INT, id6 INT, id7 INT, id8 INT, id9 INT, id10 INT, id11 INT, id12 INT, id13 INT, id14 INT, id15 INT, id16 INT)');
    3.  
    4.  76 mysql_query('INSERT INTO people(idMatch INT, id1 INT, id2 INT, id3 INT, id4 INT, id5 INT, id6 INT, id7 INT, id8 INT, id9 INT, id10 INT, id11 INT, id12 INT, id13 INT, id14 INT, id15 INT, id16 INT) values('$i', '$_POST['2Gk']', '$_POST['2Ld']', '$_POST['2Cd1']', '$_POST['2Cd2']', '$_POST['2Rd']', '$_POST['2Lm']', '$_POST['2Cm1']', '$_POST['2Cm2']', '$_POST['2Rm']', '$_POST['2Cf1']', '$_POST['2Cf2']', '$_POST['2S1']', '$_POST['2S2']', '$_POST['2S3']', '$_POST['2S4']', '$_POST['2S5']') ');
    5. ?>
    Из формы данные должны записываться в БД. Выдаёт ошибку: Parse error: syntax error, unexpected T_VARIABLE in Z:\home\test1.ru\www\index.php on line 76
    Перепробывал всё. Так как тип переменной $_POST[] string то я даже присваивал ей тип integer, в коде менял INT на TEXT нифига. Помогите плиз.
     
  7. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Охохо. Во-первых, учить теорию конкатенации строк.

    Правильно будет так.
    PHP:
    1.  
    2. <?php
    3. $q = 'INSERT INTO table (id, title, data)
    4. VALUES
    5. ('.$id.', '.$title.', '.$data.')';
     
  8. TOK

    TOK Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    Причём здесь конкатенация строк?
    Код должен записать в таблицу с полями
    idMatch INT, id1 INT, id2 INT, id3 INT, id4 INT, id5 INT, id6 INT, id7 INT, id8 INT, id9 INT, id10 INT, id11 INT, id12 INT, id13 INT, id14 INT, id15 INT, id16 INT
    данные переменных
    '$i', '$_POST['2Gk']', '$_POST['2Ld']', '$_POST['2Cd1']', '$_POST['2Cd2']', '$_POST['2Rd']', '$_POST['2Lm']', '$_POST['2Cm1']', '$_POST['2Cm2']', '$_POST['2Rm']', '$_POST['2Cf1']', '$_POST['2Cf2']', '$_POST['2S1']', '$_POST['2S2']', '$_POST['2S3']', '$_POST['2S4']', '$_POST['2S5'] соответственно

    парсер выдаёт ошибку что в строке
    '$i', '$_POST['2Gk']', '$_POST['2Ld']', '$_POST['2Cd1']', '$_POST['2Cd2']', '$_POST['2Rd']', '$_POST['2Lm']', '$_POST['2Cm1']', '$_POST['2Cm2']', '$_POST['2Rm']', '$_POST['2Cf1']', '$_POST['2Cf2']', '$_POST['2S1']', '$_POST['2S2']', '$_POST['2S3']', '$_POST['2S4']', '$_POST['2S5']
    есть необьявленная переменная
    переменная $i обьвлена, остальные получены из формы методом POST.

    Строка 75 прекрасно создаёт таблицу, а вот почему данные не записываются...
     
  9. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Нет, парсер выдает ошибку,что у тебя нарушен синтаксис.
    Обрати внимание, на то, как по-разному подсвечены твои два запросаю
     
  10. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Что, блядь, значит "при чем"? При том, что код написан неправильно.
    Он и не должен работать.

    Ошибка на какой строке?
    А что у нас там?
    Я еще раз повторяю -
     
  11. SDR

    SDR Активный пользователь

    С нами с:
    22 сен 2009
    Сообщения:
    244
    Симпатии:
    0
    Спасите. Я ещё только учусь. Закачал этот файл на сервер, а он блин не работает:

    PHP:
    1.  
    2. <?php
    3. /***************************************************************************
    4. *                               admin_smilies.php
    5. *                              -------------------
    6. *     begin                : Thu May 31, 2001
    7. *     copyright            : (C) 2001 The phpBB Group
    8. *     email                : [email=support@phpbb.com]support@phpbb.com[/email]
    9. *
    10. *     $Id: admin_smilies.php 8377 2008-02-10 12:52:05Z acydburn $
    11. *
    12. ****************************************************************************/
    13.  
    14. /***************************************************************************
    15.  *
    16.  *   This program is free software; you can redistribute it and/or modify
    17.  *   it under the terms of the GNU General Public License as published by
    18.  *   the Free Software Foundation; either version 2 of the License, or
    19.  *   (at your option) any later version.
    20.  *
    21.  ***************************************************************************/
    22.  
    23. /**************************************************************************
    24. *   This file will be used for modifying the smiley settings for a board.
    25. **************************************************************************/
    26.  
    27. define('IN_PHPBB', 1);
    28.  
    29. //
    30. // First we do the setmodules stuff for the admin cp.
    31. //
    32. if( !empty($setmodules) )
    33. {
    34.     $filename = basename(__FILE__);
    35.     $module['General']['Smilies'] = $filename;
    36.  
    37.     return;
    38. }
    39.  
    40. $phpbb_root_path = "./../";
    41. require($phpbb_root_path . 'extension.inc');
    42.  
    43. $cancel = ( isset($HTTP_POST_VARS['cancel']) || isset($_POST['cancel']) ) ? true : false;
    44. $no_page_header = $cancel;
    45.  
    46. //
    47. // Load default header
    48. //
    49. if ((!empty($HTTP_GET_VARS['export_pack']) && $HTTP_GET_VARS['export_pack'] == 'send') || (!empty($_GET['export_pack']) && $_GET['export_pack'] == 'send'))
    50. {
    51.     $no_page_header = true;
    52. }
    53.  
    54. require('./pagestart.' . $phpEx);
    55.  
    56. if ($cancel)
    57. {
    58.     redirect('admin/' . append_sid("admin_smilies.$phpEx", true));
    59. }
    60.  
    61. //
    62. // Check to see what mode we should operate in.
    63. //
    64. if( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
    65. {
    66.     $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
    67.     $mode = htmlspecialchars($mode);
    68. }
    69. else
    70. {
    71.     $mode = "";
    72. }
    73.  
    74. $delimeter  = '=+:';
    75.  
    76. //
    77. // Read a listing of uploaded smilies for use in the add or edit smliey code...
    78. //
    79. $dir = @opendir($phpbb_root_path . $board_config['smilies_path']);
    80.  
    81. while($file = @readdir($dir))
    82. {
    83.     if( !@is_dir(phpbb_realpath($phpbb_root_path . $board_config['smilies_path'] . '/' . $file)) )
    84.     {
    85.         $img_size = @getimagesize($phpbb_root_path . $board_config['smilies_path'] . '/' . $file);
    86.  
    87.         if( $img_size[0] && $img_size[1] )
    88.         {
    89.             $smiley_images[] = $file;
    90.         }
    91.         else if( eregi('.pak$', $file) )
    92.         {  
    93.             $smiley_paks[] = $file;
    94.         }
    95.     }
    96. }
    97.  
    98. @closedir($dir);
    99.  
    100. //
    101. // Select main mode
    102. //
    103. if( isset($HTTP_GET_VARS['import_pack']) || isset($HTTP_POST_VARS['import_pack']) )
    104. {
    105.     //
    106.     // Import a list a "Smiley Pack"
    107.     //
    108.     $smile_pak = ( isset($HTTP_POST_VARS['smile_pak']) ) ? $HTTP_POST_VARS['smile_pak'] : $HTTP_GET_VARS['smile_pak'];
    109.     $clear_current = ( isset($HTTP_POST_VARS['clear_current']) ) ? $HTTP_POST_VARS['clear_current'] : $HTTP_GET_VARS['clear_current'];
    110.     $replace_existing = ( isset($HTTP_POST_VARS['replace']) ) ? $HTTP_POST_VARS['replace'] : $HTTP_GET_VARS['replace'];
    111.  
    112.     if ( !empty($smile_pak) )
    113.     {
    114.         //
    115.         // The user has already selected a smile_pak file.. Import it.
    116.         //
    117.         if( !empty($clear_current)  )
    118.         {
    119.             $sql = "DELETE
    120.                 FROM " . SMILIES_TABLE;
    121.             if( !$result = $db->sql_query($sql) )
    122.             {
    123.                 message_die(GENERAL_ERROR, "Couldn't delete current smilies", "", __LINE__, __FILE__, $sql);
    124.             }
    125.         }
    126.         else
    127.         {
    128.             $sql = "SELECT code
    129.                 FROM ". SMILIES_TABLE;
    130.             if( !$result = $db->sql_query($sql) )
    131.             {
    132.                 message_die(GENERAL_ERROR, "Couldn't get current smilies", "", __LINE__, __FILE__, $sql);
    133.             }
    134.  
    135.             $cur_smilies = $db->sql_fetchrowset($result);
    136.  
    137.             for( $i = 0; $i < count($cur_smilies); $i++ )
    138.             {
    139.                 $k = $cur_smilies[$i]['code'];
    140.                 $smiles[$k] = 1;
    141.             }
    142.         }
    143.  
    144.         $fcontents = @file($phpbb_root_path . $board_config['smilies_path'] . '/'. $smile_pak);
    145.  
    146.         if( empty($fcontents) )
    147.         {
    148.             message_die(GENERAL_ERROR, "Couldn't read smiley pak file", "", __LINE__, __FILE__, $sql);
    149.         }
    150.  
    151.         for( $i = 0; $i < count($fcontents); $i++ )
    152.         {
    153.             $smile_data = explode($delimeter, trim(addslashes($fcontents[$i])));
    154.  
    155.             for( $j = 2; $j < count($smile_data); $j++)
    156.             {
    157.                 //
    158.                 // Replace > and < with the proper html_entities for matching.
    159.                 //
    160.                 $smile_data[$j] = str_replace("<", "&lt;", $smile_data[$j]);
    161.                 $smile_data[$j] = str_replace(">", "&gt;", $smile_data[$j]);
    162.                 $k = $smile_data[$j];
    163.  
    164.                 if( $smiles[$k] == 1 )
    165.                 {
    166.                     if( !empty($replace_existing) )
    167.                     {
    168.                         $sql = "UPDATE " . SMILIES_TABLE . "
    169.                             SET smile_url = '" . str_replace("\'", "''", $smile_data[0]) . "', emoticon = '" . str_replace("\'", "''", $smile_data[1]) . "'
    170.                             WHERE code = '" . str_replace("\'", "''", $smile_data[$j]) . "'";
    171.                     }
    172.                     else
    173.                     {
    174.                         $sql = '';
    175.                     }
    176.                 }
    177.                 else
    178.                 {
    179.                     $sql = "INSERT INTO " . SMILIES_TABLE . " (code, smile_url, emoticon)
    180.                         VALUES('" . str_replace("\'", "''", $smile_data[$j]) . "', '" . str_replace("\'", "''", $smile_data[0]) . "', '" . str_replace("\'", "''", $smile_data[1]) . "')";
    181.                 }
    182.  
    183.                 if( $sql != '' )
    184.                 {
    185.                     $result = $db->sql_query($sql);
    186.                     if( !$result )
    187.                     {
    188.                         message_die(GENERAL_ERROR, "Couldn't update smilies!", "", __LINE__, __FILE__, $sql);
    189.                     }
    190.                 }
    191.             }
    192.         }
    193.  
    194.         $message = $lang['smiley_import_success'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
    195.  
    196.         message_die(GENERAL_MESSAGE, $message);
    197.        
    198.     }
    199.     else
    200.     {
    201.         //
    202.         // Display the script to get the smile_pak cfg file...
    203.         //
    204.         $smile_paks_select = "<select name='smile_pak'><option value=''>" . $lang['Select_pak'] . "</option>";
    205.         while( list($key, $value) = @each($smiley_paks) )
    206.         {
    207.             if ( !empty($value) )
    208.             {
    209.                 $smile_paks_select .= "<option>" . $value . "</option>";
    210.             }
    211.         }
    212.         $smile_paks_select .= "</select>";
    213.  
    214.         $hidden_vars = "<input type='hidden' name='mode' value='import'>"; 
    215.  
    216.         $template->set_filenames(array(
    217.             "body" => "admin/smile_import_body.tpl")
    218.         );
    219.  
    220.         $template->assign_vars(array(
    221.             "L_SMILEY_TITLE" => $lang['smiley_title'],
    222.             "L_SMILEY_EXPLAIN" => $lang['smiley_import_inst'],
    223.             "L_SMILEY_IMPORT" => $lang['smiley_import'],
    224.             "L_SELECT_LBL" => $lang['choose_smile_pak'],
    225.             "L_IMPORT" => $lang['import'],
    226.             "L_CONFLICTS" => $lang['smile_conflicts'],
    227.             "L_DEL_EXISTING" => $lang['del_existing_smileys'],
    228.             "L_REPLACE_EXISTING" => $lang['replace_existing'],
    229.             "L_KEEP_EXISTING" => $lang['keep_existing'],
    230.  
    231.             "S_SMILEY_ACTION" => append_sid("admin_smilies.$phpEx"),
    232.             "S_SMILE_SELECT" => $smile_paks_select,
    233.             "S_HIDDEN_FIELDS" => $hidden_vars)
    234.         );
    235.  
    236.         $template->pparse("body");
    237.     }
    238. }
    239. else if( isset($HTTP_POST_VARS['export_pack']) || isset($HTTP_GET_VARS['export_pack']) )
    240. {
    241.     //
    242.     // Export our smiley config as a smiley pak...
    243.     //
    244.     if ( $HTTP_GET_VARS['export_pack'] == "send" )
    245.     {  
    246.         $sql = "SELECT *
    247.             FROM " . SMILIES_TABLE;
    248.         if( !$result = $db->sql_query($sql) )
    249.         {
    250.             message_die(GENERAL_ERROR, "Could not get smiley list", "", __LINE__, __FILE__, $sql);
    251.         }
    252.  
    253.         $resultset = $db->sql_fetchrowset($result);
    254.  
    255.         $smile_pak = "";
    256.         for($i = 0; $i < count($resultset); $i++ )
    257.         {
    258.             $smile_pak .= $resultset[$i]['smile_url'] . $delimeter;
    259.             $smile_pak .= $resultset[$i]['emoticon'] . $delimeter;
    260.             $smile_pak .= $resultset[$i]['code'] . "\n";
    261.         }
    262.  
    263.         header("Content-Type: text/x-delimtext; name=\"smiles.pak\"");
    264.         header("Content-disposition: attachment; filename=smiles.pak");
    265.  
    266.         echo $smile_pak;
    267.  
    268.         exit;
    269.     }
    270.  
    271.     $message = sprintf($lang['export_smiles'], "<a href=\"" . append_sid("admin_smilies.$phpEx?export_pack=send", true) . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
    272.  
    273.     message_die(GENERAL_MESSAGE, $message);
    274.  
    275. }
    276. else if( isset($HTTP_POST_VARS['add']) || isset($HTTP_GET_VARS['add']) )
    277. {
    278.     //
    279.     // Admin has selected to add a smiley.
    280.     //
    281.  
    282.     $template->set_filenames(array(
    283.         "body" => "admin/smile_edit_body.tpl")
    284.     );
    285.  
    286.     $filename_list = "";
    287.     for( $i = 0; $i < count($smiley_images); $i++ )
    288.     {
    289.         $filename_list .= '<option value="' . $smiley_images[$i] . '">' . $smiley_images[$i] . '</option>';
    290.     }
    291.  
    292.     $s_hidden_fields = '<input type="hidden" name="mode" value="savenew" />';
    293.  
    294.     $template->assign_vars(array(
    295.         "L_SMILEY_TITLE" => $lang['smiley_title'],
    296.         "L_SMILEY_CONFIG" => $lang['smiley_config'],
    297.         "L_SMILEY_EXPLAIN" => $lang['smile_desc'],
    298.         "L_SMILEY_CODE" => $lang['smiley_code'],
    299.         "L_SMILEY_URL" => $lang['smiley_url'],
    300.         "L_SMILEY_EMOTION" => $lang['smiley_emot'],
    301.         "L_SUBMIT" => $lang['Submit'],
    302.         "L_RESET" => $lang['Reset'],
    303.  
    304.         "SMILEY_IMG" => $phpbb_root_path . $board_config['smilies_path'] . '/' . $smiley_images[0],
    305.  
    306.         "S_SMILEY_ACTION" => append_sid("admin_smilies.$phpEx"),
    307.         "S_HIDDEN_FIELDS" => $s_hidden_fields,
    308.         "S_FILENAME_OPTIONS" => $filename_list,
    309.         "S_SMILEY_BASEDIR" => $phpbb_root_path . $board_config['smilies_path'])
    310.     );
    311.  
    312.     $template->pparse("body");
    313. }
    314. else if ( $mode != "" )
    315. {
    316.     switch( $mode )
    317.     {
    318.         case 'delete':
    319.             //
    320.             // Admin has selected to delete a smiley.
    321.             //
    322.  
    323.             $smiley_id = ( !empty($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];
    324.             $smiley_id = intval($smiley_id);
    325.  
    326.             $confirm = isset($HTTP_POST_VARS['confirm']);
    327.  
    328.             if( $confirm )
    329.             {
    330.                 $sql = "DELETE FROM " . SMILIES_TABLE . "
    331.                     WHERE smilies_id = " . $smiley_id;
    332.                 $result = $db->sql_query($sql);
    333.                 if( !$result )
    334.                 {
    335.                     message_die(GENERAL_ERROR, "Couldn't delete smiley", "", __LINE__, __FILE__, $sql);
    336.                 }
    337.  
    338.                 $message = $lang['smiley_del_success'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
    339.  
    340.                 message_die(GENERAL_MESSAGE, $message);
    341.             }
    342.             else
    343.             {
    344.                 // Present the confirmation screen to the user
    345.                 $template->set_filenames(array(
    346.                     'body' => 'admin/confirm_body.tpl')
    347.                 );
    348.  
    349.                 $hidden_fields = '<input type="hidden" name="mode" value="delete" /><input type="hidden" name="id" value="' . $smiley_id . '" />';
    350.  
    351.                 $template->assign_vars(array(
    352.                     'MESSAGE_TITLE' => $lang['Confirm'],
    353.                     'MESSAGE_TEXT' => $lang['Confirm_delete_smiley'],
    354.  
    355.                     'L_YES' => $lang['Yes'],
    356.                     'L_NO' => $lang['No'],
    357.  
    358.                     'S_CONFIRM_ACTION' => append_sid("admin_smilies.$phpEx"),
    359.                     'S_HIDDEN_FIELDS' => $hidden_fields)
    360.                 );
    361.                 $template->pparse('body');
    362.             }
    363.             break;
    364.  
    365.         case 'edit':
    366.             //
    367.             // Admin has selected to edit a smiley.
    368.             //
    369.  
    370.             $smiley_id = ( !empty($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];
    371.             $smiley_id = intval($smiley_id);
    372.  
    373.             $sql = "SELECT *
    374.                 FROM " . SMILIES_TABLE . "
    375.                 WHERE smilies_id = " . $smiley_id;
    376.             $result = $db->sql_query($sql);
    377.             if( !$result )
    378.             {
    379.                 message_die(GENERAL_ERROR, 'Could not obtain emoticon information', "", __LINE__, __FILE__, $sql);
    380.             }
    381.             $smile_data = $db->sql_fetchrow($result);
    382.  
    383.             $filename_list = "";
    384.             for( $i = 0; $i < count($smiley_images); $i++ )
    385.             {
    386.                 if( $smiley_images[$i] == $smile_data['smile_url'] )
    387.                 {
    388.                     $smiley_selected = "selected=\"selected\"";
    389.                     $smiley_edit_img = $smiley_images[$i];
    390.                 }
    391.                 else
    392.                 {
    393.                     $smiley_selected = "";
    394.                 }
    395.  
    396.                 $filename_list .= '<option value="' . $smiley_images[$i] . '"' . $smiley_selected . '>' . $smiley_images[$i] . '</option>';
    397.             }
    398.  
    399.             $template->set_filenames(array(
    400.                 "body" => "admin/smile_edit_body.tpl")
    401.             );
    402.  
    403.             $s_hidden_fields = '<input type="hidden" name="mode" value="save" /><input type="hidden" name="smile_id" value="' . $smile_data['smilies_id'] . '" />';
    404.  
    405.             $template->assign_vars(array(
    406.                 "SMILEY_CODE" => $smile_data['code'],
    407.                 "SMILEY_EMOTICON" => $smile_data['emoticon'],
    408.  
    409.                 "L_SMILEY_TITLE" => $lang['smiley_title'],
    410.                 "L_SMILEY_CONFIG" => $lang['smiley_config'],
    411.                 "L_SMILEY_EXPLAIN" => $lang['smile_desc'],
    412.                 "L_SMILEY_CODE" => $lang['smiley_code'],
    413.                 "L_SMILEY_URL" => $lang['smiley_url'],
    414.                 "L_SMILEY_EMOTION" => $lang['smiley_emot'],
    415.                 "L_SUBMIT" => $lang['Submit'],
    416.                 "L_RESET" => $lang['Reset'],
    417.  
    418.                 "SMILEY_IMG" => $phpbb_root_path . $board_config['smilies_path'] . '/' . $smiley_edit_img,
    419.  
    420.                 "S_SMILEY_ACTION" => append_sid("admin_smilies.$phpEx"),
    421.                 "S_HIDDEN_FIELDS" => $s_hidden_fields,
    422.                 "S_FILENAME_OPTIONS" => $filename_list,
    423.                 "S_SMILEY_BASEDIR" => $phpbb_root_path . $board_config['smilies_path'])
    424.             );
    425.  
    426.             $template->pparse("body");
    427.             break;
    428.  
    429.         case "save":
    430.             //
    431.             // Admin has submitted changes while editing a smiley.
    432.             //
    433.  
    434.             //
    435.             // Get the submitted data, being careful to ensure that we only
    436.             // accept the data we are looking for.
    437.             //
    438.             $smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? trim($HTTP_POST_VARS['smile_code']) : '';
    439.             $smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? trim($HTTP_POST_VARS['smile_url']) : '';
    440.             $smile_url = phpbb_ltrim(basename($smile_url), "'");
    441.             $smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? htmlspecialchars(trim($HTTP_POST_VARS['smile_emotion'])) : '';
    442.             $smile_id = ( isset($HTTP_POST_VARS['smile_id']) ) ? intval($HTTP_POST_VARS['smile_id']) : 0;
    443.             $smile_code = trim($smile_code);
    444.             $smile_url = trim($smile_url);
    445.  
    446.             // If no code was entered complain ...
    447.             if ($smile_code == '' || $smile_url == '')
    448.             {
    449.                 message_die(GENERAL_MESSAGE, $lang['Fields_empty']);
    450.             }
    451.  
    452.             //
    453.             // Convert < and > to proper htmlentities for parsing.
    454.             //
    455.             $smile_code = str_replace('<', '&lt;', $smile_code);
    456.             $smile_code = str_replace('>', '&gt;', $smile_code);
    457.  
    458.             //
    459.             // Proceed with updating the smiley table.
    460.             //
    461.             $sql = "UPDATE " . SMILIES_TABLE . "
    462.                 SET code = '" . str_replace("\'", "''", $smile_code) . "', smile_url = '" . str_replace("\'", "''", $smile_url) . "', emoticon = '" . str_replace("\'", "''", $smile_emotion) . "'
    463.                 WHERE smilies_id = $smile_id";
    464.             if( !($result = $db->sql_query($sql)) )
    465.             {
    466.                 message_die(GENERAL_ERROR, "Couldn't update smilies info", "", __LINE__, __FILE__, $sql);
    467.             }
    468.  
    469.             $message = $lang['smiley_edit_success'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
    470.  
    471.             message_die(GENERAL_MESSAGE, $message);
    472.             break;
    473.  
    474.         case "savenew":
    475.             //
    476.             // Admin has submitted changes while adding a new smiley.
    477.             //
    478.  
    479.             //
    480.             // Get the submitted data being careful to ensure the the data
    481.             // we recieve and process is only the data we are looking for.
    482.             //
    483.             $smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? $HTTP_POST_VARS['smile_code'] : '';
    484.             $smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? $HTTP_POST_VARS['smile_url'] : '';
    485.             $smile_url = phpbb_ltrim(basename($smile_url), "'");
    486.             $smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? htmlspecialchars(trim($HTTP_POST_VARS['smile_emotion'])) : '';
    487.             $smile_code = trim($smile_code);
    488.             $smile_url = trim($smile_url);
    489.  
    490.             // If no code was entered complain ...
    491.             if ($smile_code == '' || $smile_url == '')
    492.             {
    493.                 message_die(GENERAL_MESSAGE, $lang['Fields_empty']);
    494.             }
    495.  
    496.             //
    497.             // Convert < and > to proper htmlentities for parsing.
    498.             //
    499.             $smile_code = str_replace('<', '&lt;', $smile_code);
    500.             $smile_code = str_replace('>', '&gt;', $smile_code);
    501.  
    502.             //
    503.             // Save the data to the smiley table.
    504.             //
    505.             $sql = "INSERT INTO " . SMILIES_TABLE . " (code, smile_url, emoticon)
    506.                 VALUES ('" . str_replace("\'", "''", $smile_code) . "', '" . str_replace("\'", "''", $smile_url) . "', '" . str_replace("\'", "''", $smile_emotion) . "')";
    507.             $result = $db->sql_query($sql);
    508.             if( !$result )
    509.             {
    510.                 message_die(GENERAL_ERROR, "Couldn't insert new smiley", "", __LINE__, __FILE__, $sql);
    511.             }
    512.  
    513.             $message = $lang['smiley_add_success'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
    514.  
    515.             message_die(GENERAL_MESSAGE, $message);
    516.             break;
    517.     }
    518. }
    519. else
    520. {
    521.  
    522.     //
    523.     // This is the main display of the page before the admin has selected
    524.     // any options.
    525.     //
    526.     $sql = "SELECT *
    527.         FROM " . SMILIES_TABLE;
    528.     $result = $db->sql_query($sql);
    529.     if( !$result )
    530.     {
    531.         message_die(GENERAL_ERROR, "Couldn't obtain smileys from database", "", __LINE__, __FILE__, $sql);
    532.     }
    533.  
    534.     $smilies = $db->sql_fetchrowset($result);
    535.  
    536.     $template->set_filenames(array(
    537.         "body" => "admin/smile_list_body.tpl")
    538.     );
    539.  
    540.     $template->assign_vars(array(
    541.         "L_ACTION" => $lang['Action'],
    542.         "L_SMILEY_TITLE" => $lang['smiley_title'],
    543.         "L_SMILEY_TEXT" => $lang['smile_desc'],
    544.         "L_DELETE" => $lang['Delete'],
    545.         "L_EDIT" => $lang['Edit'],
    546.         "L_SMILEY_ADD" => $lang['smile_add'],
    547.         "L_CODE" => $lang['Code'],
    548.         "L_EMOT" => $lang['Emotion'],
    549.         "L_SMILE" => $lang['Smile'],
    550.         "L_IMPORT_PACK" => $lang['import_smile_pack'],
    551.         "L_EXPORT_PACK" => $lang['export_smile_pack'],
    552.        
    553.         "S_HIDDEN_FIELDS" => $s_hidden_fields,
    554.         "S_SMILEY_ACTION" => append_sid("admin_smilies.$phpEx"))
    555.     );
    556.  
    557.     //
    558.     // Loop throuh the rows of smilies setting block vars for the template.
    559.     //
    560.     for($i = 0; $i < count($smilies); $i++)
    561.     {
    562.         //
    563.         // Replace htmlentites for < and > with actual character.
    564.         //
    565.         $smilies[$i]['code'] = str_replace('&lt;', '<', $smilies[$i]['code']);
    566.         $smilies[$i]['code'] = str_replace('&gt;', '>', $smilies[$i]['code']);
    567.        
    568.         $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
    569.         $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
    570.  
    571.         $template->assign_block_vars("smiles", array(
    572.             "ROW_COLOR" => "#" . $row_color,
    573.             "ROW_CLASS" => $row_class,
    574.            
    575.             "SMILEY_IMG" =>  $phpbb_root_path . $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'],
    576.             "CODE" => $smilies[$i]['code'],
    577.             "EMOT" => $smilies[$i]['emoticon'],
    578.            
    579.             "U_SMILEY_EDIT" => append_sid("admin_smilies.$phpEx?mode=edit&amp;id=" . $smilies[$i]['smilies_id']),
    580.             "U_SMILEY_DELETE" => append_sid("admin_smilies.$phpEx?mode=delete&amp;id=" . $smilies[$i]['smilies_id']))
    581.         );
    582.     }
    583.  
    584.     //
    585.     // Spit out the page.
    586.     //
    587.     $template->pparse("body");
    588. }
    589.  
    590. //
    591. // Page Footer
    592. //
    593. include('./page_footer_admin.'.$phpEx);
    594.  
    595. ?>
    596.  
     
  12. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    SDR
    Троллишь? Ну-ну.
    Что за ошибка, в каком месте, почему не работает?
     
  13. SDR

    SDR Активный пользователь

    С нами с:
    22 сен 2009
    Сообщения:
    244
    Симпатии:
    0
    admyx
    незнаю. я вывод ошибок отключил. слышал, что злые хакеры через этот вывод могут сломать мой сервер.

    млин. ну троллю канешн )) а ващет повторяю dan_hak. странно, что он ещё не в бане.
     
  14. TOK

    TOK Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    Я извиняюсь, если задел вас своим нубством:)
    Значит вот:
    PHP:
    1. <?php
    2. mysql_query("CREATE TABLE people(idMatch TEXT, id1 TEXT, id2 TEXT, id3 TEXT, id4 TEXT, id5 TEXT, id6 TEXT, id7 TEXT, id8 TEXT, id9 TEXT, id10 TEXT, id11 TEXT, id12 TEXT, id13 TEXT, id14 TEXT, id15 TEXT, id16 TEXT)");
    3.  
    4. $q = "INSERT INTO people(idMatch TEXT, id1 TEXT, id2 TEXT, id3 TEXT, id4 TEXT, id5 TEXT, id6 TEXT, id7 TEXT,
    5. id8 TEXT, id9 TEXT, id10 TEXT, id11 TEXT, id12 TEXT, id13 TEXT, id14 TEXT, id15 TEXT, id16 TEXT)
    6. VALUES(".$_POST['2Gk'].", ".$_POST['2Ld'].", ".$_POST['2Cd1'].", ".$_POST['2Cd2'].", ".$_POST['2Rd'].", ".$_POST['2Lm'].",
    7. ".$_POST['2Cm1'].", ".$_POST['2Cm2'].", ".$_POST['2Rm'].", ".$_POST['2Cf1'].", ".$_POST['2Cf2'].", ".$_POST['2S1'].",
    8. ".$_POST['2S2'].", ".$_POST['2S3'].", ".$_POST['2S4'].", ".$_POST['2S5'].")";
    9.  
    10. mysql_close($dbcnx);
    11. ?>
    Ошибок не выдаёт, если вывести переменную на экран, то всё правильно отображается со всеми данными. Но вот в таблицу данные не вносятся... Что тут надо дописать?

    Благодарю за помощь...
     
  15. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    TOK
    По mysql:
    Не указывать после столбца тип столбца.
    И, если это строка, заключать строковые данные в кавычки.
    Например:
    PHP:
    1. <?php
    2. $q = 'INSERT INTO table (id, title) VALUES('.$id.', \''.$title.'\')';
    Из примера понятно?
     
  16. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    TOK
    mysql_query ($q) or die (mysql_error());
     
  17. TOK

    TOK Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    Если так
    PHP:
    1.  
    2. <?php
    3. mysql_query("CREATE TABLE people(idMatch INT, id1 INT, id2 INT, id3 INT, id4 INT, id5 INT, id6 INT, id7 INT, id8 INT, id9 INT, id10 INT, id11 INT, id12 INT, id13 INT, id14 INT, id15 INT, id16 INT)");
    4.  
    5. $q = "INSERT INTO people(idMatch, id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, id12, id13, id14, id15, id16)
    6. VALUES(".$_POST['2Gk'].", ".$_POST['2Ld'].", ".$_POST['2Cd1'].", ".$_POST['2Cd2'].", ".$_POST['2Rd'].", ".$_POST['2Lm'].",
    7. ".$_POST['2Cm1'].", ".$_POST['2Cm2'].", ".$_POST['2Rm'].", ".$_POST['2Cf1'].", ".$_POST['2Cf2'].", ".$_POST['2S1'].",
    8. ".$_POST['2S2'].", ".$_POST['2S3'].", ".$_POST['2S4'].", ".$_POST['2S5'].")";
    9. ?>
    то выдаёт ошибку: 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 ' , )' at line 4

    Если со скавычками:
    PHP:
    1. <?php
    2. mysql_query("CREATE TABLE people(idMatch INT, id1 INT, id2 INT, id3 INT, id4 INT, id5 INT, id6 INT, id7 INT, id8 INT, id9 INT, id10 INT, id11 INT, id12 INT, id13 INT, id14 INT, id15 INT, id16 INT)");
    3. // äîáàâëÿåì çàïèñü â òàáëèöó
    4. $q = "INSERT INTO people(idMatch, id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, id12, id13, id14, id15, id16)
    5. VALUES(\'".$_POST['2Gk'].",\' ".$_POST['2Ld'].", \'".$_POST['2Cd1'].",\' ".$_POST['2Cd2'].",\' ".$_POST['2Rd'].", \'
    6. ".$_POST['2Lm'].",\'".$_POST['2Cm1'].",\' ".$_POST['2Cm2'].", \'".$_POST['2Rm'].", \'".$_POST['2Cf1'].",\'
    7. ".$_POST['2Cf2'].",\' ".$_POST['2S1'].", \'".$_POST['2S2'].",\' ".$_POST['2S3'].", \'".$_POST['2S4'].", \'
    8. ".$_POST['2S5']."\')";
    9. ?>
    То выдает такую ошибку: 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 '\'123,\' 1123, \'4254,\' 44666,\' 757687, \' 123,\'124252,\' 1223, \'123124, \'' at line 2

    Что тут не так?
     
  18. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    TOK - экранировать надо однотипные кавычки - тоесть '\'' или "\""
    и в первом варианте у тя $_POST['2S4'] и $_POST['2S5'] пустые - их надо как-то обрабатывать ....

    да и незабудь всетаки - что данные защищать надо перед вставкой в базу .. иначе очень быстро код будет работать не на тебя а на других :)
     
  19. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Чтобы понять что у тебя там не так.
    Ты должен увидеть сам запрос.

    Т.е. то, что у тебя получилось в $q

    PHP:
     
  20. TOK

    TOK Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    PHP:
    1. <?php
    2. $q = "INSERT INTO people(idMatch, id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, id12, id13, id14, id15, id16)
    3. VALUES
    4. (".$i.",".$_POST['2Gk'].", ".$_POST['2Ld'].", ".$_POST['2Cd1'].", ".$_POST['2Cd2'].", ".$_POST['2Rd'].",
    5. ".$_POST['2Lm'].",".$_POST['2Cm1'].", ".$_POST['2Cm2'].",".$_POST['2Rm'].",".$_POST['2Cf1'].",
    6. ".$_POST['2Cf2'].", ".$_POST['2S1'].", ".$_POST['2S2'].",".$_POST['2S3'].", ".$_POST['2S4'].",
    7. ".$_POST['2S5'].")";
    8. mysql_query ($q) or die (mysql_error());?>
    Эта конструкция работает,
    оказалось, что если форма не полностью заполнена, то здесь появляется пустая переменная и данные в таблицу не записываются.
    Буду теперь думать как их обрабатывать, чтобы они сюда не попадали...

    Если можете, то подскажите:)

    Огромное спасибо всем за помощь!!! Сам задолбался и вас замучал:)
     
  21. TOK

    TOK Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    Ещё один вопрос от бландинки:)

    PHP:
    1. <?php
    2.  
    3. mysql_query("CREATE TABLE people(id INT NOT NULL AUTO_INCREMENT, id1 TEXT, id2 TEXT, id3 TEXT, id4 TEXT, id5 TEXT, id6 TEXT, id7 TEXT, id8 TEXT, id9 TEXT, id10 TEXT, id11 TEXT, id12 TEXT, id13 TEXT, id14 TEXT, id15 TEXT, id16 TEXT)");
    4.  
    5. $q = "INSERT INTO people(id INT NOT NULL AUTO_INCREMENT, id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, id12, id13, id14, id15, id16)
    6. VALUES(".$_POST['2Gk'].", ".$_POST['2Ld'].", ".$_POST['2Cd1'].", ".$_POST['2Cd2'].", ".$_POST['2Rd'].",
    7. ".$_POST['2Lm'].",".$_POST['2Cm1'].", ".$_POST['2Cm2'].",".$_POST['2Rm'].",".$_POST['2Cf1'].",
    8. ".$_POST['2Cf2'].", ".$_POST['2S1'].", ".$_POST['2S2'].",".$_POST['2S3'].", ".$_POST['2S4'].",".$_POST['2S5'].")";
    9. mysql_close($dbcnx);
    10. ?>
    Выдаёт синтаксическую ошибку связанную с INT NOT NULL AUTO_INCREMENT, а если в INSERT INTO убрать INT NOT NULL AUTO_INCREMENT, то пишет Table 'dailyvs8.people' doesn't exist

    Что не так?
     
  22. TOK

    TOK Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    Вообщем таблица со столбцом id INT NOT NULL AUTO_INCREMENT не создаётся.

    Что делать, вроде же всё по учебнику делаю?
     
  23. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    1. Делай обработку ошибок для 1го запроса точно так же как для 2го.

    2. Установи primary key для столбца id

    3. И такой вопрос. Ты точно уверен что тебе надо 16 полей вида idN в таблице?
    Что ты там хочешь хранить? :)
     
  24. TOK

    TOK Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    Спасибо, заработало. Обшарил весь гугл, нигде не попадалось что AUTO_INCREMENT без primary key не работает, а после вашего совета сразу же и в гугле нашлось что да как:)

    Ещё раз спасибо!
     
  25. Dgoker

    Dgoker Активный пользователь

    С нами с:
    7 окт 2009
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    Липецк
    Посмотрите что не так
    PHP:
    1.  
    2.  
    3.        
    4. function cp1251_to_utf8($soctags)
    5. {
    6.     if (is_array($soctags))
    7.     {
    8.         $d = array();
    9.         foreach ($soctags as $k => &$v) $d[cp1251_to_utf8($k)] = cp1251_to_utf8($v);
    10.         return $d;
    11.     }
    12.     if (is_string($soctags))
    13.     {
    14.         if (function_exists('iconv')) return iconv('cp1251', 'utf-8//IGNORE//TRANSLIT', $soctags);
    15.         if (! function_exists('cp1259_to_utf8')) include_once 'cp1259_to_utf8.php';
    16.         return cp1259_to_utf8($soctags);
    17.     }
    18.     if (is_scalar($soctags) or is_null($soctags)) return $soctags;
    19.     trigger_error('An array, scalar or null type expected, ' . gettype($soctags) . ' given!', E_USER_WARNING);
    20.     return $soctags;
    21. }      
    22.            
    23.         if  ($row['tags'] !="") {  
    24.         $soctags = $row['tags'];
    25.         $soc_tags = implode( " ", cp1251_to_utf8($soctags) );
    26.         $soc_tags_c = implode( ", ", cp1251_to_utf8($soctags) );
    27.  
    28.         $tpl->set( '{soc_tags}', $soc_tags);    //ТЕГИ ЧЕРЕЗ ПРОБЕЛ 
    29.         $tpl->set( '{soc_tags_c}', $soc_tags_c );// ТЕГИ ЧЕРЕЗ ЗАПЯТУЮ 
    30.        
    31.         } else {
    32.            
    33.         $tpl->set( '{soc_tags}', '');
    34.         $tpl->set( '{soc_tags_c}', '');
    35.                
    36.         }
    37.  
    38.  
    Вот ошибка