|
|
|
| Если логотип есть - выводим, если нет - то выводим картинку no.jpg
И картинки не выводятся
<?php
$path = "img/logo_pu/";
$image = $myrow['logo'];
$no = no;
if (!empty($myrow ['logo'])) {
echo "<td><img src='".$path.$image."' alt='' /></td>"; }
else{
echo "<td><img src='".$path.$no."' alt='' /></td>"; }
?>
|
| |
|
|
|
|
|
|
|
для: Василий
(04.01.2012 в 22:24)
| | >$no = no;
а разве переменной $no присвоено имя изображения?
по идее Вам php должен показать предупреждение типа "NOTICE", что не показывает?
вот так должно выглядеть
Notice: Use of undefined constant no - assumed 'no' in..... | |
|
|
|
|
|
|
|
для: Slo_Nik
(04.01.2012 в 22:35)
| | не выдает ошибок.
вот верно? $no = no.jpg | |
|
|
|
|
|
|
|
для: Василий
(04.01.2012 в 22:56)
| | нет не верно, кавычки кто будет рисовать?
$no = "no.jpg"; | |
|
|
|
|
|
|
|
для: Василий
(04.01.2012 в 22:56)
| | так. начнём всё сначала..
1)используете функцию error_reporting() ?
2)Если да, то в каком месте кода Вы её прописываете?
3)Проверьте через функцию phpinfo(), есть ли вывод ошибок в браузер?
4) Имя файла надо заключить в кавычки, это строка....
вот ссылка по ошибкам
Системное сообщение об ошибке - не твой враг, а твой друг.
Избавляться от него не надо! Наоборот - надо стремиться получить его всеми силами - оно поможет исправить тебе ошибку.
Не надо просто путать программиста с пользователем.
Если ты разрабатываешь сайт, и пользователь - ты сам, то удобнее смотреть ошибки на экране.
поэтому делаем в настройках сервера
display_errors=on
|
ну и далее в статье и по ссылкам почитайте | |
|
|
|
|
|
|
|
для: Slo_Nik
(04.01.2012 в 23:00)
| | 1)используете функцию error_reporting() ?
2)Если да, то в каком месте кода Вы её прописываете?
Прописываю в самом верху
<?php
ini_set("display_errors","1");
if (version_compare(phpversion(), "5.0.0", ">")==1) {
ini_set("error_reporting", E_ALL | E_STRICT);
} else {
ini_set("error_reporting", E_ALL);
};
?>
|
Notice: Undefined variable: organ in...
Notice: Undefined variable: text in...
Notice: Undefined variable: ling in...
3)Проверьте через функцию phpinfo(), есть ли вывод ошибок в браузер?
log_errors On On
error_append_string no value no value
error_log error_log error_log
error_prepend_string no value no value
4) Имя файла надо заключить в кавычки, это строка....
кавычки есть $no = "no.jpg"; | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 01:24)
| | инициализируйте все переменные, на которые выдало notice
возможно не правильно указан путь к изображению no.jpg
какие именно картинки не выводятся, логотип или no.jpg? | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 02:28)
| | что такое "инициализируйте все переменные, на которые выдало notice!" ? | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 03:08)
| | присвоить значение по умолчанию
<?php $a = isset($a) ? $a : null; ?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 03:19)
| | Эти не иниц. переменные приходят из формы
<input name="text" type="hidden" value="<?php echo $_GET['text']; ?>">
<input name="ling" type="hidden" value="<?php echo $_GET['ling']; ?>">
|
ЧТо с ними не так?
Куда это прописать:
<?php $a = isset($a) ? $a : null; ?>
|
| |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 03:31)
| | а Вы подумайте сами немножко....
перепишите мой пример так, что бы Ваши переменные были инициализированы
небольшая подсказка, это надо сделать в начале скрипта
и так как Вы подставляете глобальные переменные, лучше так не делать. всегда инициализируйте их, особенно те,в которых могут быть данные получаемые от пользователя | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 03:33)
| | тогда вот так
<?php
ini_set("display_errors","1");
if (version_compare(phpversion(), "5.0.0", ">")==1) {
ini_set("error_reporting", E_ALL | E_STRICT);
} else {
ini_set("error_reporting", E_ALL);
};
$ling= isset($ling) ? $ling: null;
$text= isset($text) ? $text: null;
?>
|
Этот код вставляю сверху в том файле где выходили ошибки
Верно? | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 03:41)
| | нет, не верно.
думайте ещё.
опять подскажу.
откуда Вы получаете данные, которые хотите присвоить этим переменным из какого источника? | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 03:57)
| | данные я беру из той многострадальной формы.
и передаю их в обработчик
из базы данных я получаю эти источники. И? | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:02)
| | Slo_Nik, Вы чего не спите? ))) | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:02)
| | что "и"???
это и так понятно, что из формы
когда отправляете форму в какой массив попадают данные из полей text и ling? | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 04:22)
| | в зависимости от предприятия.
в данном случае они пустые | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:23)
| | ещё раз попробую, может дойдёт до Вас...
в какой массив попадают данные из формы, когда Вы её отправляете?
подсказка: атрибут тега form - method | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 04:26)
| | методом POST
вижу их в массиве
[text] =>
[ling] =>
пустые. | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:28)
| | методом GET!!!! ))))
странно
<form action="pu_action.php" method="get" name="f2">
<?php echo '<pre>';
print_r($_GET);
echo '</pre>';?>
показыает пустой массив
Array
(
)
А так полный
<?php echo '<pre>';
print_r($_POST);
echo '</pre>';?> | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:30)
| | какой к чёрту метод GET?!!
Вы отправляете форму, метод в атрибуте прописан post!!!
так какой может быть get?!!
вот теперь подумайте ещё раз, как инициализировать переменные
и по поводу метода get
Вы в value прописываете
<?php
echo "<input type='text' name='text' value='".$_GET['text']."' />";
|
и когда отправите форму, то поле не будет заполнено.
а если пользователь ошибётся при заполнении формы?
тогда ему надо будет снова прописывать значение руками, которое было передано через get
а будет удобно, чтобы значения сохранились
вот над этим тоже подумайте, как сделать | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 04:35)
| | Поясню - text, ling - не предлагается для изменения.
Пользователь их не может менять.
А название - пожалуйста.
<td width="200" valign="top"><b>Название организации:</b></td>
<td width="550" align="left" style='background-color:#f0f0f0'>
<input value= "<?php echo $_GET['title']; ?>" type="text" name="title">
|
Так как все-таки устраниь ошибку неинициализации тех переменных? | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:42)
| | думайте, я подсказал и написал пример | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 04:48)
| | я переписал Ваш пример
$ling= isset($ling) ? $ling: null;
$text= isset($text) ? $text: null;
|
Вы пишите что у меня неправильно )))
Подскажите, где Вы учились PHP
Сколько времени у Вас это заняло? | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:52)
| | >Подскажите, где Вы учились PHP
>Сколько времени у Вас это заняло?
смешно. разве можно сказать - все, я выучил PHP, теперь ВСЕ знаю. учиться надо постоянно. | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:52)
| | Вообще PHP можно выучить на базовом уровне, прочитав последовательную книгу в 500 страниц, а потом в 1000 страниц. Возможно придется прочитать пару-тройку раз. Сколько это времени занимает, зависит от конкретного человека и того, сколько языков программирования он уже знает. В таких книгах материал дается от простого к сложному.
PS Однако, elenaki, ехидничает не с проста. Во-первых каждые несколько лет 40% ваших знаний устаревает, а на смену старым технологиям приходят новые. Поэтому знания нужно постоянно обновлять - это непрерывный процесс. Кроме того, PHP - это лишь кирпичик большой пирамиды, всю эту пирамиду не охватить, вы поднимите лишь несколько кирпичей. Один кирпич почти беполезен, нет пользу конечно извлечете, но кирпичи друг друга усиливают и вы становитесь сильным тогда, когда у вас в руках оказывается часть пирамиды - одна или несколько технологий от начала до конца.
PPS С вами ничего не нормального не происходит, все так и должно быть, по началу это не быстро, потом процесс пойдет быстрее и быстрее. В конце концов вы сами не будете замечать, как изучаете новые технологии, настолько свыкнитесь с этим процессом. | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 04:42)
| | Если пользователь не может менять text и ling, то зачем вообще их в форму пихать?
Вывод в форме предполагает изменение параметра. | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 14:58)
| | почему?
да я пробовал - база не обновляется иначе, пишет вы вели не все данные.
Поэтому "таскаю" их.
Но как ушли далеко от первого поста.
Картинка не выводится | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 15:04)
| | значит подправьте код, который пишет в базу, что бы он не реагировал на эти данные.
теперь по картинке
что писал я Вам раньше, да и Cheops тоже ?
поэтапно проверять все переменные, выводите их в браузер и смотрите, что в них находится
<?php
$path = "img/logo_pu/";
echo $path;
$image = $myrow['logo'];
echo $image
$no = "no.jpg";
echo $no;
echo $path.$image;
if (!empty($myrow ['logo']) /* где проверка, что файл существует?!! */) {
echo "<td><img src='".$path.$image."' alt='' /></td>"; }
else{
echo "<td><img src='".$path.$no."' alt='' /></td>"; }
?>
|
p.s. и уберите элементы таблицы из echo !!! потом будете оформлять | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 15:12)
| | файл, в котором Вы пытаетесь показать картинку и сама папка img лежат на одном уровне?
вот в чем была проблема.
Спасибо | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 15:14)
| |
<?php
/* зачем проверять эту переменную если есть уже $image?!! */
if (!empty($myrow ['logo'])
|
Вывели картинку?
Если да, то закатывайте банкет по этому поводу ))) | |
|
|
|