За последние 24 часа нас посетили 18092 программиста и 1697 роботов. Сейчас ищет 1541 программист ...

"Помогите нубу", "Я ламер" ....

Тема в разделе "PHP для новичков", создана пользователем admyx, 15 окт 2010.

  1. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    дык а что мешает написать
    $nickname." ".$score." ".$from."\n"

    или даже
    "$nickname $score $from\n"
     
  2. cyberstorm

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

    С нами с:
    12 ноя 2012
    Сообщения:
    3
    Симпатии:
    0
    Спасибо!
    И еще маленькая проблема. В запросе к скрипту пользователь может ввести что нибудь типа http://сайт.ру/record.php?nickname=<HACK>hack_code</HACK>, (забавно что скрипт записывает такое), как бы грамотно это пресечь? Убрать из запроса скажем эти скобки < > наклонные линии / знаки вопросов
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    с базой данных надо работать и копать в том направлении а не страдать извращениями с текстовиком.

    при выводе можешь воспользоваться http://www.php.ru/manual/function.htmlspecialchars.html
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    про ссылки и %3D
     
  5. haotichni

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

    С нами с:
    14 фев 2011
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    дома недалеких
    Добавление значения в шаблон html

    Суть такова, полученное значение в php нужно занести в html шаблон!

    Таким образом значение мы получаем и выводится на экран:

    Код (Text):
    1. <?PHP
    2.  
    3. include "login.php";
    4.  
    5. $template = tmpl_open('templates/date.html');
    6.  
    7. $res =  $_GET['res'];
    8. echo $res;
    9.  
    10. echo tmpl_parse($template);
    11.  
    12. ?>
    но нам необходимо его добавить в определенное поле {res}, и не знаю почему моя штуковина не работает!

    Код (Text):
    1.  
    2.     <?PHP
    3.     include "login.php";
    4.      
    5.     $template = tmpl_open('templates/date.html');
    6.      
    7.     $res = GET['res'];
    8.     tmpl_set($template, "res", $res);
    9.      
    10.     echo tmpl_parse($template);
    11.            
    12.     ?>
    вот шаблон html:

    Код (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <HTML>
    4. <HEAD>
    5.     <TITLE>Выдача технических условий</TITLE>
    6.     <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    7.     <link rel="stylesheet" type="text/css" media="all" href="/jscalendar/calendar-blue.css" />
    8.     <link rel="stylesheet" href="css/style.css" type="text/css" media="screen, projection">
    9.     <link rel="stylesheet" href="css/print.css" type="text/css" media="print">
    10.    
    11.  
    12.    
    13.  
    14. </HEAD>
    15.  
    16. <BODY>
    17.  
    18. <div class="box">
    19.    
    20.     </p>
    21.     <div>
    22.         <input type="button" class="myButton" value="Ввод данных о выдаче ТУ" onclick="open_path('add_ty.php?res={res})"></input>
    23.     </div>
    24. </div>
    25.  
    26.  
    27. </BODY>
    28.  
    29. </HTML>
    нормальные варианты, на подобие этого не проходят, возможно в виду того, что php 4 установлена на сервере,и нет возможности поставить новую!

    Код (Text):
    1.  
    2. <input type="button" class="myButton" value="Ввод данных о выдаче ТУ" onclick="open_path('add_ty.php?res=<?php $res = GET['res']; echo $res; ?>)"></input>
     
  6. HAMMMER

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

    С нами с:
    14 дек 2012
    Сообщения:
    1
    Симпатии:
    0
    Код (Text):
    1. if($some_var) {
    2.      //some code
    3. }
    Когда условие будет срабатывать?Кроме когда $some_var = true
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  8. Sladkiy

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

    С нами с:
    15 дек 2012
    Сообщения:
    2
    Симпатии:
    0
    Хочу написать функцию типа strlen(), да чё-то рекурсия не поддаётся =\
    Код (Text):
    1.  
    2. function myStrlen($str){
    3.  if($str===true) return 1;
    4.  if(is_array($str)) return 0; //Здесь бы какую-нибудь ошибку инициализировать типа Warning ...
    5.  $str=(string)$str;
    6.  static $cnt=0; //Чтоб один раз обнулялось
    7.  if (!is_null($str{$cnt})) {  //Здесь проверяю на конец строки. Может неправильное условие?
    8.   $cnt++;
    9.   myStrlen($str);
    10.   }
    11.  else return $cnt;
    12. }
    Понятно, что можно и без рекурсии гораздо легче:
    Код (Text):
    1.  
    2. for($cnt=0; $str{$cnt}; $cnt++);
    3. return $cnt;
    Но всё же, почему бесконечная рекурсия получается?
     
  9. jenya777777

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

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    Потому что $cnt изначально ноль, ты делаешь проверку на ноль и возвращаешь обратно проверку.
     
  10. Sladkiy

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

    С нами с:
    15 дек 2012
    Сообщения:
    2
    Симпатии:
    0
    Как же так-то? Из-за static она должна только один раз инититься как 0...из мануала такое взял http://www.php.ru/manual/language.variables.scope.html#language.variables.scope.static Пример #6 Статические переменные и рекурсивные функции
     
  11. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    При обращении к несуществующему индексу в строке php возвращает не null, а пустую строку. При таком условии рекурсия не будет бесконечной:
    Код (PHP):
    1. if($str{$cnt} !== '') { 
    но всё равно функция отработает не так, как тебе бы хотелось. Она у тебя ещё и не возвращает ничего.
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а почему в фигурных скобках?
     
  13. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Раньше где-то читал, что для массивов - квадратные, для строк - фигурные.
     
  14. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    в мануале
    можно и так и так. но если для строк использовать фигурные получается нагляднее. и сразу видно по коду, где идет работа с массивом а где со строками. код более читабельный и проще в поддержке
     
  15. X-RaY

    X-RaY Активный пользователь

    С нами с:
    17 ноя 2012
    Сообщения:
    3
    Симпатии:
    0
    Друзья,помогите! Я нуб и ламер и чайник и вообще... (жду начала курсов php,но развиваться все же нужно заранее). Вообщем вопрос!
    Есть у меня форма добавления информации в БД (самой бд пока нет (и кода,добавляющего ее тоже). Вообщем нужно следующее: Вот есть "Тип" (верхняя строка). Надо сделать так,когда я из выпадающего списка выбираю определенный тип,то сроки к нему относящиеся оставались,а не относящиеся пропадали. Объяснил как ламер конечно. Но вот например я выбираю "Операционный усилитель",должно остаться все. А когда я из списка "Тип" выбираю другое,то должно,например пропасть "Типономинал","Номер ТУ","Потребляемый ток". Как реализовать такое? Спасибо! Если вообще не сюда,ткните носом,пожалуйста.
    http://s019.radikal.ru/i617/1301/7f/a53a6d29cd68.jpg - тут форма (картинка)
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это надо на js мутить
     
  17. Lestat621

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

    С нами с:
    6 июн 2012
    Сообщения:
    41
    Симпатии:
    0
    Не нашел в поисковике. Как делается "архив статей"? Не в плане кода, а в плане теории, каким образом это осуществляется?
     
  18. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну либо по времени они считаются архивом, либо поле какое-то добавляется типа TINYINT и туда 0 или 1 пишешь. =) ещё и черновички можно присобачить.
     
  19. Lestat621

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

    С нами с:
    6 июн 2012
    Сообщения:
    41
    Симпатии:
    0
    Делаю по времени.
    Но нужно что бы не в определенный момент статья попадала в архив, а по истечении месяца. И можно было выводить все статьи касающиеся данного месяца.
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну это ты в WHERE запроса пропиши просто
     
  21. bkm

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

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    по факту статья никуда не попадает, она как лежала в своей строке в базе так и лежит, соответственновсе операции проводим с ней.

    проверь, если дата статьи + 60*60*24*30 стало равно или меньше текущей даты, стало быть месяц прошел и нам нужно "пометить" эту статью как архивную.
    например, если есть колонка status типа int, то ее значения могут быть такими 0 - черновик, 1 - опубликована, 2 - архив. Тогда в разделе архив будем показывать только те статьи WHERE status='2'
    как-то так....

    ах, да, дата в моем случае date('U')
     
  22. borus

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

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Здравствуйте.
    Вот такой код:
    Код (Text):
    1. var_dump($data->totalProductTxt);
    2. echo $data->totalProductTxt;
    3. if($data->totalProductTxt != "Корзина пуста" ){ echo " - ";}
    выводит:
    Почему выводится дефис? Он должен скрываться по задумке

    Благодарю
     
  23. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    потому что строки не равны
     
  24. borus

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

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    а как тогда переиначить условие, чтобы в случае если $data->totalProductTxt содержит текст неравный "Корзина пуста" выводить дефис?
     
  25. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    вы не поняли. сравните строки побайтово. скорее всего у вас непечатный символ залежался где-то