Autor | Zpráva | ||
---|---|---|---|
gardener Profil |
#1 · Zasláno: 30. 4. 2009, 08:51:16
Zdravim
Naistaloval jsem Wamp server misto Xampp a u vsech projektu, ktere drive fungovaly nez problemu se mi nyni zobrazuje Notice ve zneni: Notice: Undefined index: section in C:\Data\Programing\PHP\www\Viralaction\Koncept_web\HTML\index.php on line 80 a take, co je zakomentovano pomoci "//" tak se take promitne do HTML vystupu. Jakou vlastnost bych mel v nastaveni PHP zapnout/vypnout aby tomu tak nebylo? Diky za kazdou radu... |
||
Kajman_ Profil * |
#2 · Zasláno: 30. 4. 2009, 09:11:38
Potlačit notice lze díky
error_reporting(E_ALL ^ E_NOTICE); Připadě to nastavit přímo v php.ini |
||
gardener Profil |
#3 · Zasláno: 30. 4. 2009, 09:34:18
Diky to je ono, ale jeste by me zajimalo jak vyzrat na ty komentare?
|
||
Nox Profil |
#4 · Zasláno: 30. 4. 2009, 09:43:28
|
||
Kajman_ Profil * |
#5 · Zasláno: 30. 4. 2009, 10:19:18
A máte ten komentář // v <?php nebo v mimo? Možná ten kód ukažte.
|
||
AM_ Profil |
#6 · Zasláno: 30. 4. 2009, 13:56:09
teď se tu to samé řeší v postu Jak vypnout notice.
Imho je v tomhle případě přípustné řešení jen lokálně potlačovat pomocí zavináče (@$_GET['section'] nevypíše chybu, pokud index neexistuje). Nejčistčí je použít isset, tedy $section = isset($_GET['section']) ? $_GET['section'] : 'default'; ale to je přece jen zdlouhavější a pokud chceme jako default prázdný řetězec, tak to se zavináčem zafunguje stejně. Určitě je obojí lepší než vypnout notices globálně a zbavit se tak naprosto přehledu o potenciálních zdrojích chyb v podobě ostatních notice. |
||
gardener Profil |
#7 · Zasláno: 30. 4. 2009, 15:13:19
Komentar je uvnitr PHP kodu, ale vsimnul jsem si, ze kod mi zacina <? a ne <?php. A pokud to zmenim tak dostanu hlasku PARSE ERROR.
Kod je takto: <? function ValidniMail($cislo) { return ereg("^.+@.+\..+$", $cislo); } $BudemeZobrazovat=true; if (!empty($_POST)) // tak už se odesílalo a musíme kontolovat { //START OVERENI ZADANI JMENA if (strlen($_POST["jmeno"])<=2 || is_numeric($_POST["jmeno"])) { echo "<span class='blue'>Zadejte prosím Vaše jméno.\n\r</span>" ; } //KONEC OVERENI VALIDITY JMENA //START OVERENI VALIDITY MAILU if (!ValidniMail($_POST["email"])) { echo "<span class='blue'>Zadejte prosím Váš mail ve tvaru: mail@vasedomena.koncovka</span>\n\r"; } //KONEC OVERENI VALIDITY MAILU //START OVERENI ANTISPAM if (!is_numeric($_POST["anti"])||($_POST["anti"])!= 3) { echo "<span class='blue'>Zadejte prosím antispam ochranu.</span>\n\r"; } //KONEC OVERENI ANTISPAM else { require_once("send-mail.php"); echo("<span class='blue'>Děkujeme Vám, zpráva byla odeslána.</span>"); } } //START FORM if ($BudemeZobrazovat):?> <form action="<?echo $_SERVER["PHP_SELF"]?>" method="post" enctype="multipart/form-data"> <label for="jmeno">Vaše jméno:</label> <br /> <input name="jmeno" value="<?echo $_POST["jmeno"]?>" id="jmeno" type="text" class="textinput" maxlength="50" title="Zde napiště Vaše jméno"/> <br /> <label for="email">Váš e-mail:</label> <br /> <input name="email" value=" <?echo $_POST["email"]?>" id="email" type="text" class="textinput" maxlength="50" title="Zadejte svůj e-mail na pomocí kterého vás budeme kontaktovat"/> <br /> <label for="anti">Anti-spam 1+2:</label> <br /> <input name="anti" value=" <?echo $_POST["anti"]?>" id="anti" type="text" class="textinput" maxlength="50" title="Napište číslicí výsledek součtu dvou číslic" /> <br /> <label for="zprava">Vaše zpráva:</label> <br /> <textarea name="zprava" id="zprava" cols="20" rows="10" class="textinput" title="Zde napiště Vaši zprávu, dotaz."></textarea> <input type="submit" class="submit_button" value="" /> </form> <?endif;?> |
||
gardener Profil |
#8 · Zasláno: 30. 4. 2009, 15:16:46
Tak asi vyreseno, vsude melo zrejme byti <?php , to me mohlo napadnout ale jelikoz to prozatim vsude fungovalo, tak jsme si na to nedaval pozor..
|
||
AM_ Profil |
#9 · Zasláno: 30. 4. 2009, 20:53:10
To je právě zrada short_open_tagů (<?), že někde jsou ještě zapnuté, jiné hostingy už je vyply. Zásada čistého kódu je v žádném případě je nepoužívat.
|
||
Časová prodleva: 16 let
|
0