JS_PHP
Sziasztok!
:)
Megint és még mindig ugyanaz a problémám, mint egy fél éve volt. :)
Sikerült megoldást találnom arra, hogy JS-nek php változó értéket átadniÁmde!
:)
Mégsem működik és mégis működik..
:)
Mégsem működik apache localhoston és mégis működik NuSphere PhpEditor debuggerében.
Vajh, miért??
:)
A részletesebb kód:A debuggerben kiirja és eldönti, hogy normál menet van és nem egyedi mérés (NÉHA!!!! hogy mitől függ, el nem tudom képzelni!!!), a Firefoxban (Operában) EGYÁLTALÁN NEM, és mivel a js 'egyedi' változó nincs definiálva számára, ezért alapból FALSE, ami nekem rossz.
Próbáltam ellenőrizni úgy, hogy az oldal különböző pontjaira tettem értékadásokat, de sehol sem veszi föl a php változó értékét...Most azon nyűglődöm- mert jobb ötletem nincs!-, hogy a php változókat kirakom egy php állományba, amit ajax-szal lekérdezek...
Miért van olyan érzésem, hogy verébre ágyuval akarok lőni??? :)
Szerintem VAN normális megoldás is!!!
Szerintetek?
:)
aet
■ :)
Megint és még mindig ugyanaz a problémám, mint egy fél éve volt. :)
Sikerült megoldást találnom arra, hogy JS-nek php változó értéket átadni
var js_valtozo = "<?=$_SESSION[php_valtozo]?>";
:)
Mégsem működik és mégis működik..
:)
Mégsem működik apache localhoston és mégis működik NuSphere PhpEditor debuggerében.
Vajh, miért??
:)
A részletesebb kód:
<?php
//ha regisztrálva van, akkor rendben, ha nincs, akkor a kezdooldalra küldi
session_start();
if(!session_is_registered(user_name)) {header("location:../index.php");}
// meres ideje, nem egyedi mérés: default
$most_ora=(date(H)+1).":00";
// Ha még nincs munkamenet reg
if (!session_is_registered(meres_ideje)) { session_register("meres_ideje");}
$_SESSION[meres_ideje]=$most_ora;
$_SESSION[egyedi_e] = false;
}
else
{ // $meres_ideje = $_SESSION[meres_ideje];
if (isset($_REQUEST['egyedi']))
{ $_SESSION[meres_ideje] = $_REQUEST['egyedi'];
$_SESSION[egyedi_e] = true;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript" type="text/javascript">
// kiirja, hogy normál mérés vagy egyedi mérés
function elso_kiiras()
{ mikor =" <?=$_SESSION[meres_ideje];?> ";
egyedi = "<?=$_SESSION[egyedi_e];?>";
if (egyedi)
{ kiir('um_MSG','Egyedi mérés : ', mikor);}
else
{ kiir('um_MSG', 'Mérés ideje : ', mikor);}
}
/*Általános span-re írató fv*/
function kiir (hova, belso_txt, ertek)
{ document.getElementById(''+ hova +'').innerHTML=''+ belso_txt +''+ ertek;}
</script>
</head>
<body onload="elso_kiiras();">
Próbáltam ellenőrizni úgy, hogy az oldal különböző pontjaira tettem értékadásokat, de sehol sem veszi föl a php változó értékét...
<td id="dateformat" name="dateformat" height="13" colspan="7" align="center" valign="middle" style="font-size:9px;">
<script type="text/javascript">
document.write(TODAY);
var mikor = "<?=$_SESSION[meres_ideje]?>";
var milyen= "<?=$_SESSION[egyedi_e]?>";
document.write("<br/>mikor: " + mikor + "<br/>");
if (milyen)
{ document.write("<br/>milyen: igaz");}
else
{ document.write("<br/>milyen: hamis");}
</script>
</td>
Miért van olyan érzésem, hogy verébre ágyuval akarok lőni??? :)
Szerintem VAN normális megoldás is!!!
Szerintetek?
:)
aet
if
$_SESSION[meres_ideje]=$most_ora;
If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered(), and session_unregister().
Mivel ez az oldal nem a belépés oldala,
Hamarabb nem akarom, mert a megelőző oldal működéséhez nem érdekes, hogy mi az időpont.
Ráadásul, ha az előző oldalon órákat molyol, akkor hamis értéket is fog rögzíteni ezen az oldalon, mert ezen az oldalon már űrlap is van.
Tehát, ha nincs regisztrálva a mérés ideje, akkor jöjjön létre ez a változó, de ha már űrlap elküldése miatt újratöltődött az oldal, akkor ez már nem első belépés az oldalra.
Kicsit világosabban: 3 óránként mérni kell(8:00, 11:00, ...). Ez a normál menet.
De elképzelhető, hogy elrendelnek egyedi mérést, méréseket.
Ekkor egy input mezőben megadja az egyedi mérés időpontját. Ezt olvasom ki a REQUEST változóból, ehhez rendelem hozzá az új mérésazonosítót, illetve megengedem, hogy csak részadatokat rögzítsen, különben minden mérendő adatot bekér az űrlap (alapértelmezés szerint).
Nyilván el kell különítenem a méréseket egymástól a későbbi kiíratás okán is.
(8:00, 8:30, 9:00, 9:30, 10:00, 11:00, 12:30, 12:45, 13:00, 14:00 )
Szóval még mindig nem értem, hogy miért nem kap értéket FF-ben a js változó és a debuggerben miért igen...
Bár épp most láttam egy topicot, miszerint a js üggvényt legjobb lesz a </body> elé tenni..
Talán segít.. bár kevés tudásom berzenkedik, mert nem DOM elemről van szó.. Vagy mégis?
:)
aet
HTML
még ma
:)
Sok minden történik azon az oldalon.. :)
a fölső részben meghatározza, hogy milyen tipusú a mérés (egyedi vagy sem),
bal oldalon kiválasztja, hogy melyik egyedet akarja mérni,
a jobb oldalon az új méréshez szolgáló űrlap van, illetve az eddigi mérések eredményei is kiíródnak.
Igyekszem mysql nélkül megoldani a próba lapot.. de egy csomó adat onnan jön..
az egyedek nevei, a mért eredmények..
nem tudom, mennyire fog látszani és a kód sem lesz naon tiszta!
:))))))))))))))
nem vagyok képzett és gyakorlott programozó, csak igyekszem figyelni a szabályokra.
:)
szóval, még ma felteszem.. :)
Üdv. aet
short_open_tag=On
Az a gyanúm, hogy a debugger php.ini-jében be van kapcsolva a short_open_tag, az apache által használt php.ini-ben meg nincs.
E helyett:
már próbáltam,
bár a php.init nem ellenőriztem....
ezt is köszönöm, megnézem! :)
ez vóóót a gond.. :(
Újratelepíti a webszervert..
kijavítja a hibát és értetlenül áll az újabb PORBLÉMA előtt:
Használj set_date_timezone() fv-t, mert nem értelmezhető sok minden..
Ugyanis a XAMPP, az újratelepítés után, EUROPE/Paris-ra állította be az időzónát... :)
Oszt hiába javítom ki a my.ini-t.... Europe/Budapestre....
ÁáÁáÁáÁáÁ!!!!!!!!!!!!!
:)))))))))
Eggyel több sor és eggyel több tanulság! RTFM! :)
aet
Cookie
ez jó kérdés! :))))))))))))
:))))))))))))))))
Nem csak ezért! Talán azért sem gondolkodtam ezen, mert handheld eszközökön lesz implementálva és nem szeretném, hogy teljen az eszköz tára..
Ezért is vetettem el a JS keretrendszereket...
Lehet, hogy rosszul látom, cáfoljatok meg! , de számomra a keretrendszerek tűl nagyok ahhoz a két-három dologhoz képest, amit használhatok belőlük, hiszen a mobil eszközök (akár handheld, akár telefon) nem mindegyike alkalmas ilyenek futtatására... (értsd: a böngészőjük)
de a COOKIE nem butaság! :) Átgondolom!
:))))
Köszönöm! :))))))))))
Változók
ha már maradok az eredeti elképzelésnél,
Jó tudom, Te vagy a Mágus!
:))))))))))))
Szóval azt mondod, hogy
már pedig, a több egyed mérése miatt az űrlap többször is újratölti az oldalt. Ezért kell a $_SESSION[]. És akkor gyön az AJAX, mint az űrlap elküldésének lehetősége.. :)
Mert akkor nem töltődik újra az oldal...
Nah!
Csinálom a példa oldalt.. :)
:)
Köszönöm az ötletet!
:)))))))))))
aet