Autor Zpráva
gardener
Profil
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 *
Potlačit notice lze díky
error_reporting(E_ALL ^ E_NOTICE);

Připadě to nastavit přímo v php.ini
gardener
Profil
Diky to je ono, ale jeste by me zajimalo jak vyzrat na ty komentare?
Nox
Profil
gardener
Ještě k Notice
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=93980
Kajman_
Profil *
A máte ten komentář // v <?php nebo v mimo? Možná ten kód ukažte.
AM_
Profil
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
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
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: