Autor Zpráva
Tata
Profil
Na dotaz ohľadne WAMPu mi zatiaľ nikto neodpovedal. Nainštaloval som teda EASY PHP a nefunguje to ani v ňom, takže chyba musí byť inde. Ide o to, že tento súbor:

<?
//Nastav uz. meno a heslo
$user="admin";
$pass="admin";

//ktorá stránka sa má otvoriť po prihlásení?
$protected="podujatia_work.php";

$auth="Heslo";

#End of configuration..............................................

if ($_GET['action']=='validate'){
if(($_POST['user']==$user)&&($_POST['passwd']==$pass)){
header("Cache-control: private");
session_start();
$_SESSION["user_is_logged"] = 1;
header("Location: ".$protected);
exit;
}
}
?>
<?php ob_start(); ?>
<form action="podujatia_login.php?action=validate" method="post" style="width=250px">
<fieldset>
<legend>Autorizácia</legend>
<label>Správca:</label><input type="text" name="user">
<br>
<label>Heslo:</label><input type="password" name="passwd"><br>
<input type="submit" value="Pokračovat">
</fieldset>
</form>
<?php ob_end_flush();?>

mi vracia túto hlášku:

Notice: Undefined index: action in d:\easyphp1-8\www\kultura\publikacie_login.php on line 13

Na riadku 13 je toto: if ($_GET['action']=='validate'){

Existuje nejaký nástroj, ktorý by mi script "krokoval" a upozornil na chyby?
Tomik
Profil
Existuje nejaký nástroj, ktorý by mi script "krokoval" a upozornil na chyby?
Krokovat lze přímo v PHP, že si budeš po částech zadávat příkaz EXIT..

A na chyby upozozňuje přímo péhápé...
Hamstet
Profil *
Chyba je v apostrofech - do indexů polí se nepíšou. Správně:

if($_GET[action]=='validate'){ ........... }
Tata
Profil
Hamstet
Znamená to, že má všetky [' a '] nahradiť za [ a ]?
Tomik
Profil
Tata
Nebo za ["a"]...
Tata
Profil
Nanovo som nainštaloval WAMP. Čo znamená hlásenie:

Forbidden
You don't have permission to access /C:/localweb/nova3/cf~index.php on this server.


---------------------------------------------------------------------- ----------

Apache/2.0.55 (Win32) PHP/5.1.2 Server at 127.0.0.1 Port 80
Tomik
Profil
Tata
Nanovo som nainštaloval WAMP. Čo znamená hlásenie:

Forbidden
You don't have permission to access /C:/localweb/nova3/cf~index.php on this server.


---------------------------------------------------------------------- ----------

Apache/2.0.55 (Win32) PHP/5.1.2 Server at 127.0.0.1 Port 80


Zakázaný
Nemáte povolení k přístupu na /C:/localweb/nova3/cf~index.php na tomto serveru.


---------------------------------------------------------------------- ----------

Apache/2.0.55 (Win32) PHP/5.1.2 Server na 127.0.0.1 Port 80
Tata
Profil
textu rozumiem, neviem, čo a kde treba v nastavení zmeniť
Tomik
Profil
Většinou to znamená, že není k dispozici soubor INDEX.PHP nebo je někde přímo (.htaccess) zakázaný přistup do té konkrétní složky.
Anonymní
Profil *
dal som do adresára prázdny INDEX.PHP - nič, .htaccess v žiadnom podadresári nemám, na vytváraných stránkach som to nedefinoval. Na serveri, kde sú umiestnené, čiastočne fungujú (nefungujú niektoré funkcie, ale to je iný problém).
ash
Profil
Chyba je v apostrofech - do indexů polí se nepíšou. Správně:

if($_GET[action]=='validate'){ ........... }


Toto je veľmi zavádzajúce tvrdenie. V tomto prípade sa apostrofy do indexov naopak píšu. Inak PHP hľadá najprv konštantu action a vypíše notice: PHP Notice: Use of undefined constant action - assumed 'action'.

Apostrofy sa nepíšu v len prípade, že pole je v reťazci, napr.
echo "bola zadaná akcia $_GET[action]";


inak
Notice: Undefined index: action in d:\easyphp1-8\www\kultura\publikacie_login.php on line 13

Znamená, že nemáš premennú 'action' v URL.
Tata
Profil
Vďaka za upozornenie. Inak - urobil som tie zmeny a uploadoval všetko na server a buď tam v skriptoch tie reťazce nemám, alebo je server natoľko inteligentný, že sa dovtípil a ignoroval nesprávnu syntax. Localhost mi však ešte stále nefunguje. Stránky, ktoré sa na serveri normálne zobrazia mi vôbec nezobrazí, alebo vypíše, že nemám právo prístupu na localhost.
ash
Profil
Skontroluj ešte v httpd.conf, či tám máš nastavené
DirectoryIndex index.php
DirectoryIndex index.html
Tata
Profil
ash
je tam:
DirectoryIndex index.php index.php3 index.html index.htm index.html.var

localhost mi to už načíta ale z konkrétnej stránky, ktorú chcem otvoriť mi to načíta iba farebné nastavenie. V príslušnom index.php mám "includovaných" niekoľko *.inc súborov z adresára pages, ale tie sa nezobrazia vôbec.
A keď dám načítať priamo niektorú stránku z "hlbších" podadresárov, vypíše mi to zakázaný prístup
Toto téma je uzamčeno. Odpověď nelze zaslat.

0