Autor | Zpráva | ||
---|---|---|---|
anonymus Profil * |
#1 · Zasláno: 2. 1. 2011, 21:02:03
Na stránce "index.php" mám po splnění daného požadavku odkaz na stránku "home.php".
Jak docílit toho, aby se stránka "home.php" nezobrazila při zapsání do adresního řádku, ale pouze z toho odkazu na indexové stránce? ( aby ta podmínka nemohla být obejita ) Jde to? Díky. |
||
ninja Profil |
#2 · Zasláno: 2. 1. 2011, 21:08:08
Musíte si návštěvníka na index.php nějak označit. Cookie nebo parametr v url.
|
||
anonymus Profil * |
#3 · Zasláno: 2. 1. 2011, 21:13:46
ninja:
„Musíte si návštěvníka na index.php nějak označit. Cookie nebo parametr v url.“ Prosím o větší nakopnutí :-) |
||
Radek Cvek Profil |
#4 · Zasláno: 2. 1. 2011, 21:25:30
nestačilo by při splnění podmínky nastavit session:
$_SESSION["podminka"]='OK'; a na začátku "home.php" by potom bylo otestování podmínky: if ($_SESSION["podminka"]!='OK') header("Location: index.php"); |
||
David1256 Profil |
#5 · Zasláno: 2. 1. 2011, 21:32:03
Jestli je ta podmínka heslo, vypadá to, že to máš dělané přes přístup k souboru za pomocí formuláře, do kterého jakoby napíšeš cestu k souboru. Zkus to udělat jinou možností z těchto možných http://www.jakpsatweb.cz/heslo.html
|
||
anonymus Profil * |
#6 · Zasláno: 2. 1. 2011, 21:35:03
Radek Cvek:
asi jsem to tou podmínkou špatně vyložil....jde o to, že jsou dva odkazy...pokud souhlasí, tak ho to navede na "home.php" a pokud nesouhlasí, tak ho to přesměruje "google" |
||
anonymus Profil * |
#7 · Zasláno: 2. 1. 2011, 21:35:58
David1256:
ne...o zaheslovaný přístup nejde |
||
Taps Profil |
#8 · Zasláno: 2. 1. 2011, 22:07:03
anonymus:
a to nejde udělat přes podmínku if ?? |
||
anonymus Profil * |
#9 · Zasláno: 2. 1. 2011, 22:19:06
Taps:
a jde? |
||
Radek Cvek Profil |
#10 · Zasláno: 2. 1. 2011, 22:35:46
já nerozumím tomuto: jsou dva odkazy...pokud souhlasí - dva odkazy odkud nebo kam vedou? Jak mohou dva odkazy souhlasit? s čím? (Dva odkazy souhlasí, pokud jsou si rovny? - kde je vezmu?)
... jinak pokud to dobře chápu a jde o to, že když se spustí "index.php", tak přes něj mohu odkazem na "home.php" a při přímého vložení "home.php" do url se to přesměruje na google, tak furt platí, že: do "index.php" dám $_SESSION["podminka"]='OK'; a do "home.php" if ($_SESSION["podminka"]!='OK') header("Location: http://www.google.cz"); |
||
TomášK Profil |
#11 · Zasláno: 2. 1. 2011, 23:27:52
Možná jde kontrolovat Referer, který je uložený v $_SERVER['HTTP_REFERER'];, ale nevím, jak moc je to spolehlivé - možná o nějaké návštěvníky přijdeš, protože ho neodesílají. A podstrčit ho také není problém
|
||
ninja Profil |
#12 · Zasláno: 3. 1. 2011, 01:10:19
Referer rozhodně nepoužívat.
|
||
anonymus Profil * |
#13 · Zasláno: 3. 1. 2011, 15:14:33
Radek Cvek:
jsou dva odkazy...a pro příklad: jeden směruje na home.php (jsi-li kluk, tak vstup) druhý směruje na google.com (nejsi-li kluk, tak tě pošlem jinam) |
||
Radek Cvek Profil |
#14 · Zasláno: 3. 1. 2011, 19:35:51
index.php
<?php session_start(); $_SESSION["kontrola"]='jdu z indexu'; session_regenerate_id(); ?> <html> <head> <script type="text/javascript"> function loadXMLDoc(kdo) { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if (kdo=='kluci') xmlhttp.open("GET","s.php?vyber=kluci",false); else xmlhttp.open("GET","s.php?vyber=holky",false); xmlhttp.send(); } </script> </head> <body> <a href="javascript: loadXMLDoc('kluci');window.location='home.php';">Kluci</a> <a href="javascript: loadXMLDoc('holky');window.location='home.php';">Holky</a> </bod s.php <?php; session_start(); session_regenerate_id(); if ($_SESSION["kontrola"]=='jdu z indexu') $_SESSION["vyber"]=$_GET["vyber"]; ?> home.php <?php; session_start(); session_regenerate_id(); if ($_SESSION["kontrola"]!='jdu z indexu') header("Location: index.php"); if ($_SESSION["vyber"]!='kluci') header("Location: http://www.google.com"); ?> HOME - KLUCI Nevím, jestli je to správné řešení - prostě v indexu zavolám při odkazu AJAX funkci, která v souboru s.php nastaví session výběru a hned po ní volám javascriptové přesměrování na home.php. V home.php se zkontroluje session a jestli neodpovídá výběru, přesměruje se to na google. Takže pokud někdo neklikne na odkaz "kluci", nenaplní se session a nedostane se na home.php. |
||
anonymus Profil * |
#15 · Zasláno: 3. 1. 2011, 20:42:55
Radek Cvek:
možná ještě někde dělám chybu, ale vyberu-li jakýkoliv z těch dvou odkazů na indexové stránce, tak mi oba dva směrují na google.com :-( |
||
Radek Cvek Profil |
#16 · Zasláno: 3. 1. 2011, 21:12:47
v home.php dej jenom
<?php; session_start(); session_regenerate_id(); echo $_SESSION["vyber"]; ?> a pak zkus klikat na odkazy a napiš, co vypisuje home.php |
||
anonymus Profil * |
#17 · Zasláno: 3. 1. 2011, 21:25:12
Radek Cvek:
nyní sice odkazy směřují tam kam mají, ale nefunguje ta podmínka, že se na home.php nedostanu přímým zápisem do adresního řádku...jakmile zapíšu url ...../home.php, tak se tam dostanu |
||
Radek Cvek Profil |
#18 · Zasláno: 3. 1. 2011, 21:42:06
a nevypisuje se kluci nebo holky?
jestli ne tak možná se musí přidat na začátek všech souborů hned po session_start(); session_register("vyber"); session_register("kontrola"); a home vrátit do původního stavu |
||
anonymus Profil * |
#19 · Zasláno: 3. 1. 2011, 22:17:37
Radek Cvek:
stále stejné....po zadání ....home.php se tam dostanu |
||
Radek Cvek Profil |
#20 · Zasláno: 3. 1. 2011, 22:54:32
Nechápu - přece se na začátku kontroluje if ($_SESSION["vyber"]!='kluci') - mě to funguje
A je to na webhostingu s PHP? |
||
anonymus Profil * |
#21 · Zasláno: 3. 1. 2011, 23:05:05
Radek Cvek:
zkouším to na localhostu |
||
anonymus Profil * |
#22 · Zasláno: 3. 1. 2011, 23:30:12
Radek Cvek:
zkusím to ještě zítra nanovo...ale určitě prozatím děkuji za obětovaný čas ;-) , kterého nebylo málo |
||
anonymus Profil * |
#23 · Zasláno: 4. 1. 2011, 17:48:49
tak se mi to bohužel nezdařilo :-(
|
||
Časová prodleva: 13 let
|
0