Autor | Zpráva | ||
---|---|---|---|
virgo86 Profil |
#1 · Zasláno: 21. 11. 2009, 14:37:02
zdravím potřebuji po splnění podmínky aby se stranka vratila zpět odpkud uživatel přišel.
využil bych $HTTP_SERVER_VARS['HTTP_REFERER']; tím zjistím odkud uživatel přišel ale nevím jak ho automaticky na tuto adresu přesměrovat? lze to pomocí php nebo musím použít html? dík |
||
Apacuka Profil |
#2 · Zasláno: 21. 11. 2009, 14:40:06
|
||
virgo86 Profil |
#3 · Zasláno: 21. 11. 2009, 15:08:04
zkoušel jsem napsalo to tuhle chybu?
Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\cnc\fce.php:39) in c:\apache\htdocs\cnc\smazat_clanek.php on line 15 skript: <?php // smazani clanku require_once('fce.php'); session_start(); hlavicka2('editace', '', $strana); $conn = db_connect(); $story = $HTTP_GET_VARS['story']; $sql = "delete from stories where id = $story"; $result = mysql_query($sql, $conn); header('Location: www.virgonet.cz'); konec(); ?> |
||
Apacuka Profil |
#4 · Zasláno: 21. 11. 2009, 15:20:10 · Upravil/a: Apacuka
dbc.php
$link = mysql_connect("mysql.webzdarma.cz", "xxxxx", "xxxxx"); $db = mysql_select_db("xxxx", $link) or die("Couldn't select database"); tvuj soubor include 'dbc.php'; ... if (isset($_GET['akce']) AND $_GET['akce']=="smazat") { mysql_query ("delete from stories where id = $story;", $GLOBALS["link"]); $chyba = mysql_error($GLOBALS["link"]); if ($chyba==='') header("Location: www.virgonet.cz"); else echo "smazani neprobehlo"; } tohle pouzivam |
||
virgo86 Profil |
#5 · Zasláno: 21. 11. 2009, 16:29:47
Možná že mi to nefunguje na mém serveru v PC ale když to dám na net tak to pofičí nevim zkusim to později ale myslím že ten skript mám napsanej správně.
|
||
yFang Profil |
#6 · Zasláno: 21. 11. 2009, 16:34:08
virgo86:
Je to nejspíš tím, že soubor fce.php zasílá nějaký výstup ještě před přesměrováním. |
||
virgo86 Profil |
#7 · Zasláno: 21. 11. 2009, 16:42:03 · Upravil/a: virgo86
na tom řádku 39 je tohle
<meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <?php |
||
fajzen Profil |
#8 · Zasláno: 21. 11. 2009, 18:39:21
pred header() nemôže byť žiadny výstup (nič, čo by sa objavilo v browseri v zdrojáku)
|
||
HonzaKo Profil |
#9 · Zasláno: 21. 11. 2009, 19:26:45 · Upravil/a: HonzaKo
Rád bych se zeptal, zda někdo nevíte jestli jde nastavit přesměrování po určené době, např. po 5 sekundách. Nejlépe v klasickém skriptu
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.konferencniakce.cz"); header("Connection: close"); ?> Jo a také by mne zajímalo, zda jde přesměrovat automaticky jen zpět na stránku odkud bylo přesměrováno a ne na další jinou adresu. Pro vysvětlenou: Mám formulář -> odešle se na soubor, který ho zpracuje a odešle na mail, zároveň tento soubor mě přesměruje jinam - nejlépe právě zpět na stránku, kde jsem formulář vyplňoval). Moc díky |
||
vynalezce Profil |
#10 · Zasláno: 21. 11. 2009, 19:28:42 · Upravil/a: vynalezce
HonzaKo:
„Rád bych se zeptal, zda někdo nevíte jestli jde nastavit přesměrování po určené době, např. po 5 sekundách. Nejlépe v klasickém skriptu“ funkce sleep() „Jo a také by mne zajímalo, zda jde přesměrovat automaticky jen zpět na stránku odkud bylo přesměrováno a ne na další jinou adresu.“ Buďto tam nastavíš tu adresu napevno nebo $_SERVER['HTTP_REFERER']; |
||
HonzaKo Profil |
#11 · Zasláno: 21. 11. 2009, 19:33:26
vynalezce:
Děkuji, to by mohlo být ono. Mohu je poprosit, jak to mám implementovat do skriptu? |
||
vynalezce Profil |
#12 · Zasláno: 21. 11. 2009, 19:35:29
HonzaKo:
„Děkuji, to by mohlo být ono. Mohu je poprosit, jak to mám implementovat do skriptu?“ Před ten kód co to přesměruje viz kód <?php sleep(3); header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.konferencniakce.cz"); header("Connection: close"); ?> |
||
HonzaKo Profil |
#13 · Zasláno: 21. 11. 2009, 19:39:43
Super, to již funguje, ale když chci přesměrovat na původní stránku a zadám
<?php sleep (5) header("HTTP/1.1 301 Moved Permanently"); header("Location: $_SERVER['HTTP_REFERER'];); header("Connection: close"); ?> tak skript nefachá. Co mám ještě špatně? |
||
vynalezce Profil |
#14 · Zasláno: 21. 11. 2009, 19:41:07 · Upravil/a: vynalezce
Tohle by mělo fungovat
<?php sleep(5); header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$_SERVER['HTTP_REFERER']); header("Connection: close"); ?> |
||
HonzaKo Profil |
Skvělé a geniální! Moc děkuji, hledám to celý den :-)!.
Mohu ještě požádat. Mám tam v tom souboru výpis výsledku odeslání formuláře. Jde nějak, aby během těch 5 sekund se zobrazil ten text nebo alespon nejaký jiny, aby klient vedel, ze odeslání probehlo a ze je presmerováván zpět? Vim, ze kvuli tomu echu to asi nepujde, ale treba o necem vite.... Zde uvádím kód pro lepší info: <? $zprava = "Název subjektu: {$_POST['subjekt']}\r\n"; $zprava .= "Region: {$_POST['region']}\r\n"; $zprava .= "Vybraný tarif: {$_POST['tarif']}\r\n"; $zprava .= "Jméno: {$_POST['jmeno']}\r\n"; $zprava .= "Pozice: {$_POST['pozice']}\r\n"; $zprava .= "Kontakt: {$_POST['kontakt']}\r\n"; $zprava .= "Podrobnosti: {$_POST['podrobnosti']}\r\n"; $predmet = "online OBJEDNÁVKA prezentace"; $kontakt .= "{$_POST['kontakt']}\r\n"; if ($zprava!="") { Mail("info@konferencniakce.cz", $predmet, $zprava, "From: " . $kontakt); echo "<p><strong>Vaše poptávka byla úspěšně odeslána, děkujeme. Nyní budete přesměrováni zpět.</strong>.</p>"; } else { echo "<p>Vaši poptávku se <strong>nepodařilo odeslat</strong>Pravděpodobně jste nevyplnili všechny údaje. Nyní budete přesměrováni zpět</p>"; } ?> </p> <?php sleep(5); header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$_SERVER['HTTP_REFERER']); header("Connection: close"); ?> |
||
vynalezce Profil |
#16 · Zasláno: 21. 11. 2009, 19:53:42 · Upravil/a: vynalezce
HonzaKo:
„if ($zprava!="")“ Zpráva nikdy nebude prázdná. A to ani pokud uživatel nic nepošle. Lepší je testovat postupně co uživatel zadal. „Jde nějak, aby během těch 5 sekund se zobrazil ten text nebo alespon nejaký jiny, aby klient vedel, ze odeslání probehlo a ze je presmerováván zpět? Vim, ze kvuli tomu echu to asi nepujde,“ Teď jsem nepochopil co přesně tím myslíte. Echo + přesměrování funguje normálně. |
||
HonzaKo Profil |
#17 · Zasláno: 21. 11. 2009, 20:03:14 · Upravil/a: HonzaKo
Data z formuláře se odesílají normálně. Já potřebuji, aby se v těch 5 sekundách, co se přesměrovává se místo bíleho pozadí, co se zozuje nyní na těch 5 sec vypsal výsledek odeslání, tedy
buď: Vaše poptávka byla úspěšně odeslána, děkujeme. Nyní budete přesměrováni zpět. nebo: aši poptávku se <strong>nepodařilo odeslat</strong>Pravděpodobně jste nevyplnili všechny údaje. Nyní budete přesměrováni zpět Nyní se mi právě přesměrovává prázdná stránka a dotyčný může být zmatn, zda se formulář dobře odeslal. Poslední dotaz bych měl, zda je možné nějak do kodu ještě implementovat skript, který by mi spolu s výpisem formuláře zaslal i adresu stránky odkud klient přišel. Pokud byste o něčem věděl, bylo by to úplně úžasný |
||
fajzen Profil |
#18 · Zasláno: 21. 11. 2009, 23:23:45
HonzaKo:
„Já potřebuji, aby se v těch 5 sekundách, co se přesměrovává se místo bíleho pozadí, co se zozuje nyní na těch 5 sec vypsal výsledek odeslání“ v tom prípade by som skôr použil presmerovanie pomocou meta tagu „skript, který by mi spolu s výpisem formuláře zaslal i adresu stránky odkud klient přišel“ do formulára treba pridať pole (najlepšie asi skryté), ktoré bude obsahovať obsah premennej $_SERVER['HTTP_REFERER'], niečo ako: <input type="hidden" name="referer" value="<?php echo $_SERVER['HTTP_REFERER']; ?>"> |
||
HonzaKo Profil |
#19 · Zasláno: 21. 11. 2009, 23:31:13
fajzen:
meta tagem ne, ten mi nefacha, bohuzel stejne tak skript nize |
||
Sirius Profil |
#20 · Zasláno: 21. 11. 2009, 23:42:50
HonzaKo:
Použít pro přesměrování JS a když ho uživatel bude mít vypnutý, tak zobrazit klasický odkaz, uživatel kliknout zvládne. |
||
Časová prodleva: 14 let
|
0