Autor Zpráva
bambulka
Profil *
Moc prosím o pomoc s tímto problémem. Javascript mi načte obsah souboru (uložené číslo) a getelementbyid mi ho pošle do skriptu php. S číslem bych ale potřebovala dál pracovat jako s číselnou proměnnou, což se mi nedaří.
Poradí někdo?
Dík.
fuckin
Profil
$cislo = (int)$cislo;
bambulka
Profil *
Díky za odpověď, ale nějak mi to nefunguje. Ostatně, tohle jsem už zkoušela. Jestli není problém v tom, že v php převod do proměnné provádím zápisem $cislo = ("<div id=\"myDiv\"></div>"); Nabídnuté řešní, pokud vím, převádí textové číslo na číselné. V tomto případě to ale nefunguje. Dělám chybu někde jinde?
shaggy
Profil
bambulka:
Dělám chybu někde jinde?
Minimálne mi napadajú dve chyby:

1. Máš pocit, že v tomto reťazci sa nachádza nejaké číslo, ktoré by php vedelo bez ďalšej pomoci spracovať?
$cislo = ("<div id=\"myDiv\"></div>");


2. Ako odosielaš číslo z javascriptu do php? Ja vidím len string, ktorý obsahuje prázdny div, žiadne číslo v ňom nie je.
fuckin
Profil
Napiš sem co vrací var_dump čísla.
bambulka
Profil *
shaggy:
Aha. Tenhle zápis mi pomocí echo zobrazí to číslo, tak jsem ho do proměnné zkusila přiřadit tímto zápisem. Zřejmě chyba. Jak bych tedy to číslo do php měla dostat?
shaggy
Profil
bambulka:
Tenhle zápis mi pomocí echo zobrazí to číslo
Nie. Tento zápis ti pomocou echo zobrazí presne ten div, ktorý tu vidíš. Až neskôr, pomocou javascriptu, do neho vložíš číslo.

Môžeš to urobiť pomocou AJAX-u (hľadaj, riešilo sa to tu už mnohokrát), alebo klasickým odoslaním formulára. Neviem presne, o čo ti ide, takže ti odpovedám len teoreticky. Ale AJAX bude pravdepodobne to, čo hľadáš.
Hasan
Profil *
Raději uvedu co mám:
Tímhle načtu číslo ze souboru cislo.txt:
function loadXMLDoc()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
   document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","cislo.txt?date=" + (+new Date),true);
xmlhttp.send();
}

A timhle si ho zobrazím pro kontrolu jestli mi to číslo skript poslal do php a dál ho chci nějak zpracovávat:

<?php
echo("<div id=\"myDiv\"></div>");
global $cislo, $moje;
$cislo = ("<div id=\"myDiv\"></div>");
echo($cislo);
$moje = (int)$cislo;
echo($moje + 20);
?>

Tak mám asi chybu v posílání čísla do php, co? Jak ho ale odeslat? Domnívala jsem se, že právě pomocí getelemenbyid:

Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
shaggy
Profil
peta:
Prečo sem pcháš jquery, keď jeho skript na asynchrónnu komunikáciu je v poriadku? Tvoja rada ju nikam neposunula, iba to tu celé zamotávaš nezmyselnými odpoveďami (pletieš sem rôzne objekty, ale nevysvetlíš čo s tým).
Moderátor Chamurappi: Odstranil jsem ho.

bambulka/Hasan:
Ty síce odosielaš cez ajax nejaké dáta, ale v php ich vôbec nespracovávaš. Pohľadaj na nete niečo o tom, ako spracovať to, čo ti odošle javascript.
bambulka
Profil *
shaggy:
V php budu to číslo ze souboru porovnávat, ale s tím už bych si snad poradila. Problémem je ale pro mě jak dostat to číslo z ajaxu do php tak, aby to bylo číslo a daly se s ním dělat třeba matematické operace. V jedné diskusi jsem četla příspěvek, že dotyčný pro to používá skrytý imput, ale neuvedl příklad a tak jsem nepřišla na to, jak by to mohlo fungovat.
Zatím díky všem za snahu mi pomoci.
Keeehi
Profil
Hasan:
Jak ho ale odeslat?
Možná tě to přakvapí, ale třeba takto:
function loadXMLDoc()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
   document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","zpracuj.php?cislo=5");
xmlhttp.send();
}

V souboru zpracuj.php je pak číslo uplžené v proměnné $_GET["cislo"];
bambulka
Profil *
Keeehi:
Díky za návod, ale mě to doma zkrátka nefunguje. Obsah té proměnné se mi v zápisu
echo($_GET["cislo"]);
prostě neukáže. Přitom okno window.alert mi to číslo ze souboru test.txt v souboru pocitadlo.php ukáže.
Vážně už nevím. Přesto díky.
Keeehi
Profil
bambulka:
Z tohoto popisu opravdu netuším, kde by mohla chyba být. Když se ale podívám na php kód v [#8], a přidám k tomu to co si myslíte že by měl dělat, pak vidím, že vám chybějí úplné základy. Chápu, že jste začátečník a snažíte se z nalezených částí kódu poslepovat nějakou funkční stránku, bohužel jste si vybrala "pokročilé" scripty, tím myslím, že jako začátečník byste měla začít se scripty typu <?php $promenna = "hello world"; echo $promenna;?> (ano, závorky jsou zbytečné) a se základy syntaxe. Pomoci by vám mohl tento seriál. Je sice staršího daty vydání, avšak základy se nemění.

Na rozjetí AJAXu potřebujete pochopit, kde se provádí JS a kde PHP a jak probíhá komunikace klient <-> server (hodně neznalých lidí si myslí, že stránka neustále komunikuje se serverem, což většinou není pravda). Začněte tedy s něčím jednodušším.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0