Autor Zpráva
stilgarcz02
Profil
Zdravím,

měl bych tři otázky a moc rád bych chtěl někoho poprosit o rady.

1. Mám nainstalovanou nejnovější verzi EasyPhp a učím se z knížky Programujeme PHP profesionálně. Nic víc než EasyPHP jsem neinstaloval. Když si zkouším různé příklady z knihy nebo i sám zkouším něco udělat, tak občas narazim na problém, že se mi nějaky script na domácím počítači neprovede, ale když ho dám na Net, tak jo. Z velké většiny se jedná o formuláře. Vím, že existuje register_globals (ty mám na On - nic jiného jsem nenastavoval) a že se používá $_post["proměnná"] nebo s $_GET. Ale i když to mám nastavený na On, tak to stějně pořád hlásí undefined variable. Znamená to tedy, že i když mám register na ON, tak musim používat onen složitější zápis ? Dá se to nějak nastavit, aby se to provedlo i bez toho ?

2. Všeobecně, nemohl by jste mi někdo poradit, co všechno si mám v EasyPHP nastavit, aby mi šla většina scriptů ?

3. Vím, že databáze mají vlastní sekci, ale tendle problém bude asi spíš víc v PHP a nastavení než přímo v databázích. Zkoušel jsem tendle příklad :



<?php
function display_menu () { ?>

<form enctype="multipart/form-data">
<input type=submit name=action value=" Nová položka ">&nbsp;
<input type=submit name=action value=" Přehled ">&nbsp;
Hledat : <input type=text name=word>
<input type=submit name=action value=" Hledat ">&nbsp;
Import CSV : <input type=file name=csvfile>
<input type=submit name=action value=" Import CSV "><br><br>
</form>

<? } ?>


Mělo by se jednat o menu pro pozdější práci s nerelační databází. Pokud stránku spustím normálně, zobrazí se položky, ale pokud ji spustim přes server, tak se nezobrazí nic. Proč to ?

Předem děkuji za Vaší pomoc.
tiso
Profil
1. pokiaľ ten formulár neodošleš, tak nemáš tú hodnotu definovanú... Rieši sa to napríklad takto:
if(isset($premenna)){...}//pracuj s premennou


3. to máš definíciu funkcie, ale nemáš ju použitú:
display_menu();
stilgarcz02
Profil
Vím, že isset() se používá pro zjišťování, zda byla proměnné přiřazena hodnota. Ale moc nerozumim jak funguje. Jednoduchej formulář :


<form name="form" method="post" action="zpracuj.php">
<p>Zadejte jméno : <input name="jmeno" type="text" size="20">
<input type="submit" name="submit" value="Odeslat" style="font-weight: bold">
</form>

Tady jednoduchá obsluha zpracuj.php :


 <?php

echo ($jmeno);
?>


Kam bych tam měl teď zařadit isset() ?

Jinak samozřejmě moc díky. To s tou funkcí mi došlo :-)
Hugo
Profil
V php.ini si nastav
error_reporting = E_ALL & ~E_NOTICE
potom ti nebude php hlasit chyby typu notice.
Hugo
Profil
<?php
echo IsSet($jmeno) ? $jmeno : '';
?>

IsSet otestuje jestli je promenna zinicializovana, pokud ano, tak vraci true, jinak false.
stilgarcz02
Profil
zkusil jsem to, ale zobrazuje se prázdná stránka
Anonymní
Profil *

<?php
if(isset($_POST['send'])) {
echo 'Bylo zadano:' . $_POST['jmeno'];
}
else {
?>
<form method="post" action="zpracuj.php">
Zadejte jméno : <input name="jmeno" type="text" size="20"><br />
<input type="submit" name="send" value="Odeslat">
</form>
<?php
}
stilgarcz02
Profil
Lepší :-). Díky moc za pomoc
Toto téma je uzamčeno. Odpověď nelze zaslat.

0