Autor | Zpráva | ||
---|---|---|---|
BedyR Profil |
#1 · Zasláno: 4. 9. 2014, 12:59:22
Dobrý,
Nevím jestli jsem zde správně protože problém se týká HTML, ale mám tam i PHP. Mám stránku s tabulkou z které vyberu řádek a ten pak můžu editovat nebo rušit. Výběrem řádku se uloží do SESSION informace o ID řádku. Pak stiskem tlačítka EDIT se zobrazí formulář pro editaci konkretního řádku dle ID. Ve všech prohlížečích to funguje správně, jen CHROME provede toto: - po klepnuti na řádek tabulky načte formulář sám dvakrát , po prve je v GETu správná hodnota ta se uloží do ID a vykreslí formulář po druhém je v GETu hodnota 'favicon.ico' ta se uloží do ID ale nepřekreslí formulář - takže po stisku na EDIT nedojde k editaci odpovídajícího řádku. udělal jsem malí příkladek: index.php - uložen na lokále ve složce test <?php session_start(); if (!isset($_SESSION['ID'])) { $_SESSION['ID'] = 0; $_SESSION['pruchod'] = 1; $_SESSION['GET'] = array(); } else { $_SESSION['pruchod'] ++; } if (count($_GET)>0) { $_SESSION['GET'][$_SESSION['pruchod']] = $_GET; $_SESSION['ID'] = $_GET['rade']; } if (count($_POST)>0) { if (isset($_POST['EDIT'])) { $idedit = $_SESSION['ID']; } $_SESSION['GET'] = array(); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html40/loose.dtd"> <html> <head> <link rel="icon" href="favicon.ico"> </head> <body> <div class="seznam"> <div id="sez_popis"> <span class="hlav">Kod</span> </div> <div id="sez_rad"> <a class="rad" href="http://localhost/test/rec/1"> <div class="pol">0001</div> </a> <a class="rad" href="http://localhost/test/rec/2"> <div class="pol">0002</div> </a> <a class="rad" href="http://localhost/test/rec/3"> <div class="pol">0003</div> </a> </div> </div> <form method="post" action="http://localhost/test/index.php" enctype="multipart/form-data" target="_self"> <input name="EDIT" type="submit" value="Edit"> </form> <?php if (count($_GET)>0) { echo "<br>GET<pre>".print_r($_SESSION['GET'],true)."</pre>"; echo "ID ".$_SESSION['ID']; } if (count($_POST)>0) { echo "idedit ".$idedit."<br>"; echo "ID ".$_SESSION['ID']; } ?> </body> </html> .htaccess - uložen na lokále ve složce test ## PHP php_value memory_limit 48M php_value post_max_size 48M php_value upload_max_size 48M php_value upload_max_filesize 256M php_value max_execution_time 2000 php_value max_input_time 2000 ## Nastavení register_globals <IfModule mod_php5.c> php_flag register_globals on </IfModule> ## AddType application/x-httpd-php .php .php5 DirectoryIndex index.php index.html info.html ## Přesměřování a podstrkávání RewriteEngine On Options +FollowSymlinks # pokud je to zanorene v nejakem adresari, uvedte ho za / RewriteBase /test/ # ignoruje vsechny opravdove adresare RewriteCond %{REQUEST_FILENAME} !-d # ignoruje vsechy opravdove soubory (php skripty, obrazky, styly) RewriteCond %{REQUEST_FILENAME} !-f # vsechno ostatni necha vygenerovat index.php ( ten rozhodne jaky ma mit obsah) [L] RewriteRule ^rec/(.*)/?$ index.php?rade=$1 Pokud odstraním z html hlavičky <link rel="icon" href="favicon.ico"> Jenže 'favicon' tam musí být. Mohl by mi někdo poradit. Díky |
||
Davex Profil |
Existuje v adresáři test/ soubor favicon.ico? Zkus udělat vyjímku, že když bude v GET hodnota favicon.ico, tak se skript ukončí.
|
||
BedyR Profil |
Davex:
Ve složce test je soubor favicon.ico. Nejdřív jsem to řešil tak že jsem v části testující GET udělal podmínku if (isset($_GET['rade'])) { if ($_GET['rade']!='favicon.ico') { zpracování GET['rade'] } }. Pak jsem dal úplně na začátek index.php podmínku <?php if ($_GET['rade']!='favicon.ico') { zpracování } ?> No, ale spouští se to dvakrát ! Uvažoval jsem jestli nemusí mít CHROME jinak zapsaný ten favicon.ico , když u jiných prohlížečů to proběhne jednou, že musí být něco co způsobí refreš . Zatím dík. Původně jsem tam měl řádky: <link rel="shortcut icon" href="favicon.ico"> <link rel="icon" type="image/gif" href="animated_favicon.tif"> U POSTu pouze jednou. Zvlášťní. |
||
Davex Profil |
#4 · Zasláno: 4. 9. 2014, 23:48:37
BedyR:
Tak tam dej odkaz na favicon takový, aby se načítal přímo z adresáře /test/ a nenačítal se z cesty, která se přepisuje na index.php <link rel="shortcut icon" href="/test/favicon.ico"> <link rel="icon" type="image/gif" href="/test/animated_favicon.tif"> |
||
BedyR Profil |
Davex:
Dík, to bylo to ono co dělá život krásný. |
||
Časová prodleva: 10 let
|
0