Autor | Zpráva | ||
---|---|---|---|
majstersveta Profil |
#1 · Zasláno: 2. 10. 2005, 17:57:03
preco mi toto (z clanku yuhua o zaheslovani stranky)
<body> <? if($heslo != "mellon"): ?> <!--přihlaąovací formulář --> <form> Zadej heslo: <input type=password name="heslo"> <input type=submit> </form> <? ; else: ?> <h1>Vítejte v Morii!</h1> ... daląí tajný text <? endif ?> </body> nebere moj domaci server a pise mi parse error in line 2 - nedefinovana premenna heslo, a ked to hodim na server kde mam stranku, tak to funguje? |
||
Meldo Profil |
#2 · Zasláno: 2. 10. 2005, 19:13:30 · Upravil/a: Meldo
skus na zaciatku scriptu definovat premennu
$heslo = NULL; , alebo pristupovat k premennej pomocou $_POST['heslo'] ale to by si muslem mat <form... method='post'> ale mozes skusit aj toto:
|
||
Tin Profil |
#3 · Zasláno: 2. 10. 2005, 20:24:46
řekl bych, že tvůj domácí server má v konfiguraci zakázaný registersglobals - Někde u Yuhůa bys o tom měl najít víc
|
||
majstersveta Profil |
#4 · Zasláno: 2. 10. 2005, 21:50:04
Tin - zmenil som to a stale to nejde - takze to v tom asi nebol
Meldo - dik pomohlo to |
||
Anonymní Profil * |
#5 · Zasláno: 2. 10. 2005, 22:04:26
k těm regisgter globals: nech je tak jak jsou a nauč se psát skripty bezpečněji ( s použitím superglobálních proměnných $_GET["neco"], $_POST["neco"]
a ješte na začátku skriptu vždycky nuluj všechny normální proměnné:
krteczek |
||
majstersveta Profil |
#6 · Zasláno: 3. 10. 2005, 08:20:42
a ako mam pouzit to get alebo post? ze napisem samostatny formular, ktory bude odkazovat pomocou napriklad post na uvedeny skript?
a to vynulovanie pomoze k comu? |
||
Anonymní Profil * |
#7 · Zasláno: 3. 10. 2005, 09:20:36
to vynulovani zabrání tomu, aby tam, kde jsou zaplé register globals nemohlo dojít k podstrčení jiné hodnoty než té co je poslána $_POST, $_GET, hodně chyb je takových že se použije proměnná, která není definován
<?php kolik bude $soucet??? Logicky by člověk řekl, že nedefinovana promenna = 0, takže 0+$poslana. jenže fungují register globals a já mužu podstrčit do getu/postu jakoukoliv hodnotu té proměnné $nedefinovana. skript bude fungovat, ale může mít neblahé následky například u el obchodu: index.php?$poslana=100 jde snadno změnit na index.php?poslana=100&nedefinovana=-200 tak a kdo ted komu zaplatí??? ted ohledně těch metod: Vše, co se odesílá odkazem (je vidět v adresním řádku prohlížeče), je posláno metodou GET, včetně formulářů s method="GET", a vším co je posláno v action action="index.php?radek=10&sloupek=22" Metodou POST se odesílají obsáhlejší data, nebo data, jež nechceme aby OUI viděl, což ale neznamená, že je to bezpečnější. Když za PC bude sedět někdo kdo VÍ tak si odešle co bude chtít a je jen na nás jak si s tím naše skripty poradí... krteczek |
||
peta Profil * |
#8 · Zasláno: 3. 10. 2005, 10:58:42
mezi nami, to je naprosto uzasny script :)
HTML <? if($heslo != "mellon"): ?> HTML <? ; else: ?> HTML <? endif ?> HTML rychlost zpracovani pri neustalem preblikavani mezi PHP a HTML musi byt naprosto uchvacujici. Jinak parse error znamena, ze mas chybu v PHP kodu. PHP forum je trochu nekde jinde. Hadal bych, ze je to na tom radku s ELSE a psal bych to jako: HTML <? if($heslo != "mellon"){ ?> HTML <? }; else{ ?> HTML <? } ?> HTML S temi zavorkami presne vis, kde ti to zacina a konci. A pokud mas slusny HighLigher soft, tak ti pri najeti na zavorku vysviti i jeji ukonceni, takze kdyz na nejakou zapomenes, hned to vidis. |
||
Leo Profil |
#9 · Zasláno: 3. 10. 2005, 11:06:35
"mezi nami, to je naprosto uzasny script :)"
"rychlost zpracovani pri neustalem preblikavani mezi PHP a HTML musi byt naprosto uchvacujici." Taky si to myslim, bez ironie, preblikavani, jak vy pisete nema na rychlost vliv, a presne takhle pak vypada oddeleni php a html v sablonovacich systemech. Leo |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0