|
Тема
|
Съобщение за грешка
|
|
Автор | Haчинaeщ (Нерегистриран) |
Публикувано | 28.10.01 18:57 |
|
Имам следния код,които работи, но при първо отваряне на сттаницата дава съощение за грешка:
Warning: Undefined variable: username in D:\webserver\buk\test3.php on line 17
След попълване на формата вече всичко си е наред. Не зная как да го оправя по друг начин освен с оператора @ поставен след ECHO и така да подтисна извеждането на грешката. Това нормално ли е? Случвало ми се е и с други скриптове при първо посещение на страницата. Като че ли не познава променливите.
Целия код:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form >
Моля напишете своето име тук:
<input type=text name="username">
<input type = submit value = "Submit data">
</form>
Вие написахте:
<?php
echo ($username);
?>
</body>
</html>
Какво да направя за да не дава грешка при първо посещение? Освен @.
| |
Тема
|
Re: Съобщение за грешка
[re: Haчинaeщ]
|
|
Автор |
dzver (чатер) |
Публикувано | 28.10.01 21:06 |
|
http://bg.php.net/manual/en/function.error-reporting.php
eto paste-vam edin posting tam:
The E_NOTICE error reporting level reports the use of undefined variables as an error.
For example:
error_level (E_ALL); # Set error reporting to highest level
if ($foo) # This will generate an error
print "bar"; # because $foo is not defined
To avoid this behavior, use isset to test if the given
variable has been defined.
For example:
error_level (E_ALL);
if (isset ($foo))
print "bar";
syvet - polzvaj error level, kojto ne vkluchva E_NOTICE :)Редактирано от dzver на 28.10.01 21:37.
| |
Тема
|
Re: Съобщение за грешка
[re: dzver]
|
|
Автор | Haчинaeщ (Нерегистриран) |
Публикувано | 28.10.01 22:15 |
|
Това с подтискането на грешка е ясно.
Въпроса е нормално ли е за конкретния скрипт или друг подобен да се появява грешка при първо отваряне?
| |
Тема
|
Re: Чети като ти отговарят
[re: Haчинaeщ]
|
|
Автор |
salle (Един такъв) |
Публикувано | 29.10.01 12:05 |
|
Да беше прочел докрая какво ти е написал dzver
Изчети какво прави функцията isset() -
А въпросът ти звучи доста глупаво:
Нормално ли е ... да се появява грешка?
Ами ако си допуснал грешка в логиката на програмата какво по-нормално от това интерпретатора на PHP-то да ти я покаже при положение че му е указано да показва подобни грешки?
За хиляден път ми се налага да го кажа PHP E ЕЗИК ЗА ПРОГРАММИРАНЕ.
Защо до момента не си се сетил, че в твоя случай МОЖЕШ да използваш (забележи можеш а не си длъжен) нещо от рода на:
if(isset($username))
{
print("Вие написахте: $username");
}
else
{
print"Още нищо не сте написали";
/*
Или каковто и да било код вкл. празен ред
Да не говорим, че всъщност тук и е мястото на <form ....>
Ако не схващаш логиката тя е: Ако това първо влизане във скрипта
(няма $username) - показваме формата за въвеждане
Ако има $username т.е. формата е била попълнена - показваме резултата
*/
}
Linux is like a wigwam - No Windows, No Gates, Apache inside
| |
Тема
|
Re: Чети като ти отговарят
[re: salle]
|
|
Автор |
Spyder_© (::::::::::::::) |
Публикувано | 30.10.01 13:16 |
|
salle е напълно прав... ТОВА Е ЕЗИК ЗА ПРОГРАМИРАНЕ. Така, че ако не си наясно, по добре си начертай БЛОК СХЕМА (ако не са те учили в училище, това са едни такива весели ромбчета, успореднича и т.н.), която служи имено за изграждане логиката на алгоритъма.
Spyder_©
Rule the Web!
| |
|
|
|
|