| 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>
</bods.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 - KLUCINeví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: 16 let
|
|||
0