Рейтинг@Mail.ru
 
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |

21-04-2012 / Что ещё расскажешь.
"Ну и коль скоро зашла речь о них, то закрывающий значек в конце файла PHP ?> нельзя ставить ни в коем случае. Это не просто вредно, но и опасно."
Это как понимать? Закрывающие теги нельзя использовать?
22-04-2012 / twin
В конце файла крайне не желательно. Да и пользы от них там никакой.
23-04-2012 / Elena
Вы в уроках
http://irbis-team.com/15/18/2

описывали создание экземпляра класса, а потом вызвали функцию класса
<?php

    class My_First_Class
    {
        function helloWorld()
        {
            return 'Привет, Мир!';    
        }
    }    
    
    $obj = new My_First_Class();
    
    echo $obj -> helloWorld();



Но в программках встречается
$thisOrderLine -> getorder_id(); Где функция get существует в базовом классе.

без о всякой строчки $thisOrderLine = new Some_Class. У вас всегда $obj ->  называется так же как экземпляр класса.

Жалко, что в ваших уроках нет подобных примеров, насколько я понимаю это самые основы ООП, а я совсем запуталась.

Что означает строчка
$thisOrderLine -> getorder_id()
создание нового экземпляра класса, или просто присвоение переменной $thisOrderLine значения полученного при выполнении функции  getorder_id()?
23-04-2012 / twin
Как нет примеров? Там по-моему одни примеры и есть. Функция в классе называется "метод". И вызывается из экземпляра (если не статический). Поэтому
[code=php]<?php

$thisOrderLine -> getorder_id();[/code=php] это вызов метода getorder_id() из экземпляра класса, находящегося в переменной $thisOrderLine

Если он что-то возвращает, то нужно значит присвоить это значение другой переменной:
[code=php]<?php

$var = $thisOrderLine -> getorder_id();[/code=php]
24-04-2012 / Elena
метод класса вызывается из экземпляра класса, то есть я ожидаю, что строчке
$thisOrderLine -> getorder_id(); будет предшествовать создание экземпляра класса - что то типа

$thisOrderLine = new Some_Class

но этого не нахожу - это и вопрос почему?
24-04-2012 / Elena
может быть строчка
$var=$thisOrderLine -> getorder_id();и является способом создания экземпляра класса? Может быть это верно только для Zend фреймока и осущесвляется например через autoload? Удутф
24-04-2012 / Elena

цитата:
из экземпляра класса, находящегося в переменной $thisOrderLine


каким образом создается экземпляр класса? просто строчкой
$thisOrderLine -> getorder_id(); и строчка $thisOrderLine = new Some_Class не нужна?

простите, я пытаюсь несколько раз префазировать тот же самый вопрос.
24-04-2012 / Удутф

цитата:
из экземпляра класса, находящегося в переменной $thisOrderLine



есть ли у этого класса название?
24-04-2012 / twin
Я не понимаю откуда это взято. Где этот код в уроках?
Конечно нужно создать экземпляр.
[code=php]<?php

$thisOrderLine = new Some_Class();[/code=php]
25-04-2012 / Elena
если взять любой open код, например zen cart из
\includes\modules\order_total

то будут встречатся выражения
if ($order->delivery['country_id'] ==

которым не предшествует объявление
$oredr = new Some_Class

то есть экземпляр класса вызывает какую то переменную (свойство) без предварительного создания экземпляра класса, а в ваших уроках подобный примеров нет. Насколько я понимаю,это самые основы, но которых в уроках нет.

(Чуть больший кусок кода из этого же файла)
[code]
<?php

  class ot_shipping {
    var $title, $output;

    function ot_shipping() {
      global $order, $currencies;
      $this->code = 'ot_shipping';
      $this->title = MODULE_ORDER_TOTAL_SHIPPING_TITLE;
      $this->description = MODULE_ORDER_TOTAL_SHIPPING_DESCRIPTION;
      $this->sort_order = MODULE_ORDER_TOTAL_SHIPPING_SORT_ORDER;

      $this->output = array();
      if (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') {
        switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) {
          case 'national':
            if ($order->delivery['country_id'] == STORE_COUNTRY) $pass = true; break;
          case 'international':
            if ($order->delivery['country_id'] != STORE_COUNTRY) $pass = true; break;
          case 'both':
            $pass = true; break;
          default:
            $pass = false; break;
        }
[/code]
25-04-2012 / Elena
Название файла
ot_shipping.php
26-04-2012 / twin
Задайте этот вопрос на форум. В гостевой книге нет возможности рассказывать такие подробности, тем более на сторонних скриптах.
26-04-2012 / Elena
Я думала, что этот вопрос был бы интересен для других начинающих тестеров.  то есть сомые распространенные способы создания экземпляров класса.

экземпляр касс $orderLine создается через цикл

1) через цикл типа
foreach($this->allOrderData as $orderLine) {
     $orderIDHolder = $orderLine->getOrder_id();


а потом этот экземпляр класса передается через xml, curl,  в наш файл

2) по ссылке

3) наиболее редко встречающийся в который я просматривала

$orderLine= new Some_Class();

просто удалите сообщения, если считаете, что это не будет интересно другим начинающим
28-05-2012 / Smoge
Большое спасибо вам за ваш труд!
10-06-2012 / Lipton4eg
Помогите розобраться с Поповым, изменил по вашему примеру но все же есть неполадки
__________________________________________
EDIT_LESSON.php
__________________________________________
<?php
include "./lock.php";
include "./blocks/db.php";
if (isset($_GET['id'])) $id = $_GET['id'];
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Редактирование урока</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>

<table width="690" align="center" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0">
<?php include "./blocks/header.php"; ?>
  <tr>
    <td><table width="690" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
      <tr>
        <td width="190" valign="top" class="left">
        <?php include "./blocks/Main_left.php"; ?>
        </td>
        <td width="500" valign="top" class="right">
<p class="title">Редактирование урока</p>    
<?php
  
    if (!isset($id))
    {
         $result = mysql_query("SELECT `title`, `id` FROM `lessons`");

        while ($mass = mysql_fetch_assoc($result))
        {
            print '<p><a href="edit_lesson.php?id='. (int)$mass["id"] .'">'
                . $mass["title"] .'</a></p>';
        }

    }
    else
    {

         $result = mysql_query("SELECT * FROM `lessons` WHERE `id` = ". (int)$id );      
         $mass  = mysql_fetch_assoc($result);
    
?>

<form name="form1" method="post" action="update_lesson.php">
         <p>
           <label>Введите название урока<br>
             <input value="<?php
      echo $mass['title']; ?>" type="text" name="title" id="title" size="20">
             </label>
         </p>
        
         <p>
           <label>Введите краткое описание урока<br>
           <input value="<?php
      echo $mass['meta_d']; ?>" type="text" name="meta_d" id="meta_d" size="40">
           </label>
         </p>
        
         <p>
           <label>Введите ключевые слова для урока<br>
           <input value="<?php
      echo $mass['meta_k']; ?>" type="text" name="meta_k" id="meta_k" size="40">
           </label>
         </p>
        
          <p>
           <label>Введите автора урока<br>
           <input value="<?php
      echo $mass['author']; ?>" type="text" name="author" id="author" size="10">
           </label>
         </p>
        
         <p>
           <label>Введите дату добавления урока<br>
           <input value="<?php
      echo $mass['date']; ?>" name="date" type="text" id="date" size="10">
           </label>
         </p>
            
         <p>
           <label>Введите краткое описание урока (с тегами)<br>
           <textarea name="description" id="description" cols="45" rows="5"><?php
      echo $mass['description']; ?></textarea>
           </label>
         </p>
        
         <p>
           <label>Введите полный текст урока (с тегами)<br>
           <textarea name="text" id="text" cols="45" rows="15"><?php
      echo $mass['text']; ?></textarea>
           </label>
         </p>
        
         <input name="id" type="hidden" value="<?php echo (int)$mass['id']; ?>">
          
          <p>
            <label>
            <input type="submit" name="submit" id="submit" value="Сохранить изменения">
            </label>
          </p>
          
        </form>
      
<?php } ?>      


        </td>
      </tr>
    </table></td>
  </tr>
<?php include "./blocks/footer.php"; ?>
</table>

</body>
</html>
________________________________________
UPDATE_LESSON.php
________________________________________
<?php
include "./lock.php";
include "./blocks/db.php" ;

    if (!empty($_POST['title'])) $title = $_POST['title'];
    if (!empty($_POST['description'])) $description = $_POST['description'];
    if (!empty($_POST['meta_d'])) $meta_d = $_POST['meta_d'];
    if (!empty($_POST['meta_k'])) $meta_k = $_POST['meta_k'];
    if (!empty($_POST['author'])) $author = $_POST['author'];  
    if (!empty($_POST['date'])) $date = $_POST['date'];
    if (!empty($_POST['text'])) $text = $_POST['text'];
    if (!empty($_POST['id'])) $id = $_POST['id'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Обработчик</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>

<table width="690" align="center" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0">
<?php include "./blocks/header.php"; ?>
  <tr>
    <td><table width="690" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
      <tr>
        <td width="190" valign="top" class="left">
        <?php include "./blocks/Main_left.php"; ?>
        </td>
        <td width="500" valign="top" class="right">
<p class="title">Редактирование урока</p>    
<?php
if (isset ($title, $meta_d, $meta_k, $date, $description, $text, $author))
{/*Заносим информацию в базу*/
$result = mysql_query ("UPDATE lessons SET
                                `title`='". stripslashes($title) ."',
                                `meta_d`='". stripslashes($meta_d) ."',
                                `meta_k`='". stripslashes($meta_k) ."', `
                                `date`='". stripslashes($date) ."',
                                `description`='". stripslashes($description) ."',
                                `text`= '". $text ."',
                                `author`= '". stripslashes($author) ."'
              
                                 WHERE id = ".(int)$id);

if (mysql_affected_rows() > 0)
             echo "<p>Ваш урок успешно обновлен!</p>";
        else
            echo "<p>Ваш урок не обновлен!</p>";
}

else {echo "<p>Вы ввели не всю информацию, урок в базу не может быть обновлен</p>";}

?>
        </td>
      </tr>
    </table></td>
  </tr>
<?php include "./blocks/footer.php"; ?>
</table>

</body>
</html>
10-06-2012 / Lipton4eg
Проблема состоит в том что поля в базе не обновляються, выводит "Ваш урок не обновлен!", базу и название поляе проверил да и пунктуацию тоже, может чтото недосмотрел, про о помощи и заранее благодару
11-06-2012 / twin
Где Вы у меня видели такое??????
[code=php]<?php
$result = mysql_query ("UPDATE lessons SET
                                 `title`='". stripslashes($title) ."',
                                 `meta_d`='". stripslashes($meta_d) ."',
                                 `meta_k`='". stripslashes($meta_k) ."', `
                                 `date`='". stripslashes($date) ."',
                                 `description`='". stripslashes($description) ."',
                                 `text`= '". $text ."',
                                 `author`= '". stripslashes($author) ."'
                
                                  WHERE id = ".(int)$id);[/code=php]

За это руки по саму майку надо отрывать.
12-06-2012 / Киви
шибки есть

`meta_k`='". stripslashes($meta_k) ."', ` убери лишнюю кавычку.

WHERE id = '".(int)$id."'");
вот так исправь
12-06-2012 / Киви
У меня другая проблемка, сайт написал и на хостинг выложил, а вот как БД подключить, бд на хосте создал и в файле что прикрепляю ко всем исправил:

$db = mysql_connect("***.org.ua","user1","password");
mysql_select_db("db1",$db);

в чем может быть ошибка, прошу помогите
20-06-2012 / viaceslav176
Twin  можно обратиться к вам с вопросом?  Как в рамках ваших уроков  реализовать вывод  ссылок в циклах в виде чпу?
Есть база, в таблице cat  список элементов меню скажем для верхнего. В таблице data список альбомов и в таблице cat_prir список всех фото. При клике на пункт меню  выводится список альбомов с фотографиями а при клике на альбом вывод всех фото данного альбома.
Запрос для верхнего меню:
$rec = mysql_query("SELECT * FROM cat WHERE menu='top'");                
while($myrow = mysql_fetch_assoc($rec))
{
echo '<li><a href=" '. href('page=catalog') .'?cat='. $myrow['id'] .'">'.$myrow ['title'].'</a></li>';
}
Запрос на вывод  альбомов:
if (isset ($_GET['cat'])) {$cat =  $_GET['cat']; }
if (!isset($cat)) {$cat = 1;}
// вывод
      $res = mysql_query("SELECT * FROM data WHERE cat='$cat'");
    if(mysql_num_rows($res)>0)
    while($row=mysql_fetch_assoc($res))
        {
        $table .= "<div id='cat'><table id='table'><tr>\n<td id='td' colspan='2'>".$row['title']."</td>\n</tr>\n";
        $table .= "<tr>\n<td id='td' colspan='2'>\n<a href=view_cat?cat=".$row['id']." title=".$row['mini_img'].">\n<img src=".$row['mini_img']." width='220px' height='164px'  /></a>\n</a>\n</td>\n<tr>";
        $table .="<tr><td id='td'>...</td><td id='td'>...</td></tr></table></div>";    
            }
И вывод всех фотографий из альбома:
if (isset($_GET['cat'])) {$cat = $_GET['cat']; }
if (!isset($cat)) {$cat = 1;}
$res = mysql_query("SELECT * FROM cat_prir WHERE cat='$cat'");
if(mysql_num_rows($res)>0)
while($row = mysql_fetch_assoc($res))
{
        $table .= "<div id='cat'><table id='table'><tr>\n<td id='td' colspan='2'>".$row['title']."</td>\n</tr>\n";
        $table .= "<tr>\n<td id='td' colspan='2'>\n<a href=".$row['img']." title=".$row['title'].">\n<img src=".$row['mini_img']." width='220px' height='164px'  /></a>\n</a>\n</td>\n<tr>";
        $table .="<tr><td id='td'>...</td><td id='td'>...</td></tr></table></div>";    
    }
Понятно что за такую реализацию ссылок руки отрывают по самую майку, пробовал передавать страницу функцией href но тогда не выводятся данные из баз в переменной $row
Хотелось спросить у вас и именно здесь так как начинал так же как и многие тут с курсов Попова.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |