Autor Zpráva
začátečník
Profil *
Dobrý den,
chtěl bych Vás poprosit o radu jak následující JS script vložit do php.
Přesně jde o to že odešlu formulář, výsledek se zapíše do db a následně by měl proběhnout JS script který se mě zeptá kam chci pokračovat.

<SCRIPT language="JavaScript">
<!--
function go_there()
{
 var where_to= confirm("Chceš pokračovat v přidávání příspěvku??");
 if (where_to== true)
 {
   window.location="http://example.com";
 }
 else
 {
  window.location="http://example_2.com";
  }
}
//-->
</SCRIPT>

Uložení do db mám takto, plus je tam backlink který mě přesměruje ihned, místo toho by tam měl být ten JS script.
$VlozData=mysql_query("INSERT INTO `user_post`(`name`, `adr`, `datum`, `artist`, `cover`, `website`, `year`, `region`, `klic`, tracklist, `nick`) VALUES ('$name','$adr','$datum','$artist','$cover','$website','$year','$region','$klic','$tracklist','$nick')") or die (mysql_error());
        // Vlozim do tabulky hodnoty - prvni je ID - nevyplnim, tvori se samo.
        // Jako posledni hodnota je "0", to jsou ty prava uzivatele.
             
        $backlink="user_post.php";
         // presmerovani s hlaskou ze je vse OK
Joker
Profil
začátečník:
Tak může se to udělat přesně tak jak je to v [#1] popsáno, místo přesměrování návštěvníkovi poslat ten skript.

Ale není zbytečné kvůli tomu dělat další mezistránku? Nešlo by tu volbu přidat jako normální formulářový prvek k odesílanému formuláři a přesměrování zařídit v PHP?
začátečník
Profil *
No ten js script by me probehnout az po uspesnem vlozeni dat do db. Tu druhou cast vaseho prispevku jaksi nechapu
Joker
Profil
začátečník:
Tu druhou cast vaseho prispevku jaksi nechapu
Předpokládám, že předtím uživatel zadává ty údaje do databáze.
Šlo by k nim přidat třeba checkbox „Po odeslání pokračovat v zadávání příspěvku“ a na základě toho se zařídit v PHP.

No ten js script by me probehnout az po uspesnem vlozeni dat do db.
Jestli je nutné, aby se i dotaz odehrál až po uložení dat do DB (proč?), nezbývá, než uživateli po uložení dat do DB poslat další stránku s tím dotazem.
Taky by bylo fajn, aby uživatelé s vypnutým JS neskončili na prázdné stránce.
začátečník
Profil *
Takže takhle jednoduše bez ohledu na vypnutý JS to nejde?
        $VlozData=mysql_query("INSERT INTO `user_post`(`name`, `adr`, `datum`, `artist`, `cover`, `website`, `year`, `region`, `klic`, tracklist, `nick`) VALUES ('$name','$adr','$datum','$artist','$cover','$website','$year','$region','$klic','$tracklist','$nick')") or die (mysql_error());
        // Vlozim do tabulky hodnoty - prvni je ID - nevyplnim, tvori se samo.
        // Jako posledni hodnota je "0", to jsou ty prava uzivatele.
             
        $backlink="<SCRIPT language=\"JavaScript\">
<!--
function go_there()
{
 var where_to= confirm(\"Chceš pokračovat v přidávání příspěvku??\");
 if (where_to== true)
 {
   window.location=\"http://example.com\";
 }
 else
 {
  window.location=\"http://example_2.com\";
  }
}
//-->
</SCRIPT>";
    
      }
      
    }
 header ("Location: $backlink");

No asi ne protože to hlášku nehodí ačkoliv se data zapíšou.
mimochodec
Profil
začátečník:
Takhle rozhodně ne. Tu informaci, jestli se po vložení bude vkládat další položka nebo ne, dostaň z uživatele přímo v tom formuláři.
Pokračovat vložením další položky, nebo je tahle už poslední?
začátečník
Profil *
vyřeším to tím checkboxem tak jak píše v [#4] Joker
Joker
Profil
začátečník [#5]:
Takhle určitě ne. V hlavičce location se posílá adresa, obsah $backlink je HTML kód (resp. JavaScript ve značce <script>).
Když už, bylo by nutné to normálně vypsat do stránky přes echo (nebo ukončit PHP a ten kód dát za to) a pak by tu funkci taky něco muselo volat (i když je otázka, proč to vůbec obalovat do funkce, když se to má zavolat jen jednou a okamžitě) a měly by tam být ještě další části stránky, alespoň něco co určí kódování (meta charset, meta content-type, případně header content-type), nejlépe i <title> a tak.
A takhle to pořád bude mít ten problém, že lidi s vypnutým JS uvidí prázdnou stránku (protože skript se jim neprovede a žádný obsah tam nebude). To by samozřejmě šlo vyřešit doplněním HTML kódu s normálními HTML odkazy.
začátečník
Profil *
[#8] Joker

Zkusim si napsat to jak jste mi radil v [#4] Joker s tim checkboxem. Jestli spravne chapu tak po zapisu do db bude muset byt nejaka podminka ze pokud je zaskrtnuty checkbox presmeruje se to na mnou urcenou stranku. Nebo se mylim?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0