Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> продекларировать переменную, undefinde index ... 
:(
    Опции темы
Entwickler
Дата 23.7.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



вот такой простой скрипт для расчёта "валюты"
Код

<html>
    <head><title>W&auml;hrungsumrechner 2</title></head>
    <body style="font-family:Tahoma; font-size:12px;">
        <?php
            if($_POST['betrag']){
                $rate['DM'] = 0.51;
                $rate['DL'] = 1.21;
                $rate['PF'] = 0.66;
                $rate['EU'] = 1;
                $rate1['DM']= 1/$rate['DM'];
                $rate1['DL']= 1/$rate['DL'];
                $rate1['PF']= 1/$rate['PF'];
                $rate1['EU']= 1/$rate['EU'];

                $ergebnis = round($rate[$_POST['geld']]*$_POST['betrag']*$rate1[$_POST['geld1']],3);

                echo "<p><b>".$_POST['betrag']." ".$_POST['geld']." sind ".$ergebnis." ".$_POST['geld1']."</b></p>";
            }
         ?>
         <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
         <p>Ausgangsw&auml;hrung:</p>
            <select size="1" name="geld" style="border: thin solid #dedede; font-family: serif; font-size: 12px;">
                <option value="DM">DM</option>
                <option value="DL">Dollar</option>
                <option value="PF">Pfund</option>
                <option value="EU">Euro</option>
            </select>
        <p>Zielw&auml;hrung</p>
            <select size="1" name="geld1" style="border: thin solid #dedede; font-family: serif; font-size: 12px;">
                <option value="DM">DM</option>
                <option value="DL">Dollar</option>
                <option value="PF">Pfund</option>
                <option value="EU">Euro</option>
            </select>
        <p><b>Betrag:</b></p><input type="text" name="betrag" size="25" style="border: thin solid #AEFEAE; font-family:serif; font-size:12px;" />
        &nbsp;<input type="submit" name="submit" value="Abschicken" style="border: thin solid #AEFEAE; font-family:serif; font-size:12px; background:#FFFFFF;width:150px;" />
         </form>
    </body>
</html>

работает прикрасно, но вот когда я в PHPEdit v2.8.0 делаю "дэбагген" то он мне находит ундефинированную переменную... как их вообще дефинировать...

Добавлено через 14 минут и 15 секунд
не здесь наверно не в том дело...то есть не в декларации переменных... это не дефинированный индекс который он получает от <инпута> по имени betrag то есть "значение"... но как его продефинировать... и есть ли в этом нужда... какие от этого могут возникнуть проблемы...
PM MAIL   Вверх
mishaSL
Дата 23.7.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Entwickler, что-то вы по-моему совсем запутались...

сделайте проще, поставьте в начало скрипта:
Код

error_reporting(E_ALL);


и посмотрите в какой строке что неопределено.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Entwickler
Дата 23.7.2007, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



не не, всё правильно, он даёт мне E_NOTICE Undefined index: betrag in F:\Apache\wu2.php on line 5
но саму переменную я то декларирую в 35 строке! А что такое индекс?
PM MAIL   Вверх
Rock
Дата 23.7.2007, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 13.1.2005
Где: Краснодар

Репутация: 0
Всего: 1



Он вам пишет:
Неизвестный индек betrag в файле F:\Apache\wu2.php в строке 5

смотрим в строку №5:
Код

           if($_POST['betrag']){ 

здесь вы проверяете, истина ли в масиве $_POST по индексу betrag
Т.к. вы дебажите через PHPEdit, следовательно не было отправлено POST запроса скрипту, т.е. массив $_POST пуст

PM MAIL ICQ   Вверх
skyboy
Дата 23.7.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата

Код

/*...*/$_POST['betrag']/*....*/


Индекс - это то, что однозначно идентифицирует элемент массива(хеша). В данном случае, в хеше $_POST напрочь отсуствует элемент с индексом "betrag", что означает: либо не все данные были отправлены, либо не все данные дошли  smile 
Вобщем, не хватает. А ты пытаешься получить элемент хеша с таким идентификатором.
PM MAIL   Вверх
Flashdown
Дата 23.7.2007, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 27.5.2006
Где: Москва

Репутация: нет
Всего: нет



замени if($_POST['betrag']){ на if(isset($_POST['betrag'])){
PM MAIL ICQ   Вверх
Golda
Дата 24.7.2007, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



тогда уже на 

if(isset($_POST['betrag']) && $_POST['betrag']){ 

если важно непустое и ненулевое значение

Это сообщение отредактировал(а) Golda - 24.7.2007, 06:38


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Rock
Дата 24.7.2007, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 13.1.2005
Где: Краснодар

Репутация: 0
Всего: 1



тогда уже:
if(isset($_POST['betrag']) && !empty($_POST['betrag'])){ 
smile
быстрее будет, чуток smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0995 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.