« 1 2 3 4 5 6 7 8
Autor Zpráva
LosFilipos
Profil
perwin:
Tak sem dej link na živou ukázku - jak mám poznat, kde je chyba. Mě to funguje. Začínám si myslet, že tohle nikam nevede...
perwin
Profil
LosFilipos:
Myslím, že toto téma už nějak dořeším sám.... Chyba je ta, že se to nereloaduje - co víc bys na tom chtěl poznat? Ktomu, jak řekl Chamurappi, tohle není chat, takže to tady už radši dál rozebírat nebudeme, protože by to dalo nejméně na dalších 50 stránek. Leda že bychom to řešili někde jinde na chatu - jako třeba ICQ (moje je 455605399), jestli o to stojíš. Ale jinak díky za rady.
LosFilipos
Profil
perwin:
Chyba je ta, že se to nereloaduje - co víc bys na tom chtěl poznat?
V mojí ukázce se to reloaduje. Ty napíšeš, že máš stejný okoppírovaný soubor engine.js, ale v něm je to správně a funkční, takže ta chyba vzniká někde v tvém kódu, což by se dalo vyřešit postnutím linku na živou ukázku. Nemáš zájem - mě je to jedno...

Radši už toho necháme...
Chamurappi
Profil
Reaguji na perwina:
mi funguje jak v IE
I v jiné než nejnovější verzi? Pochybuju.

Jak mám vědět, že je to 'evidentí pitomost'?
Pročteš si nějaké učebnice či články o JS a tam uvidíš, že nikde nevidíš, že by někdo volal metodu setInterval na nějakém elementu, protože setInterval je metodou objektu window. Stačí špetka samostudia a LosFilipos bude mít o 50 % méně práce :-)

Chyba je ta, že se to nereloaduje - co víc bys na tom chtěl poznat?
Proč dávat odkaz na živou ukázku.

tohle není chat, takže to tady už radši dál rozebírat nebudeme, protože by to dalo nejméně na dalších 50 stránek
Bohatě stačí, když nebudete posílat štrůdly příspěvků v krátkém sledu. Když jsi mi chtěl odpovědět, proč jsi nedopsal odpověď do příspěvku #29?
perwin
Profil
LosFilipos:
Promiň, ale živou ukázku ti nemohu poskytnout... jsem hold začátečník-tajnůstkář :-D.
Ťunťa
Profil *
Myslel jsem že po dokončení bude finální kód ke stažení? (jak jsi psal)

Btw. Navrhuji přejmenovat Topic na: "Live chat workshop".
perwin
Profil
Ťunťa:
Ale ještě to není dokončené.. a já nevím jak dál - zkusil jsem snad už milion možností...
rudla
Profil
perwin:
Pouze dej odkaz. Každý si to přečte a aspoň bude vědět, kde, co a jak. V čem je chyba a tak dále.
perwin
Profil
Ahoj,
Tady je script z trychat.php:
<?php
session_start();
require "db.php";
$query = mysql_query("SELECT * FROM `activechats`");
while($result = mysql_fetch_array($query)) {
if($result["id_uzivatele"] == $_SESSION["login"] or $result["id_kamarada"] == $_SESSION["login"]) { if(!isset( $_SESSION[$result["id_chatu"]])) { echo "

<script type='text/javascript'>
var div1 = window.parent.document.getElementById('chatoveokno');
if(!div1) {
div1 = window.parent.document.createElement('DIV');
div1.id = 'chatoveokno';
var form1 = window.parent.document.createElement('FORM');  
form1.setAttribute('action', 'javascript:request(\'".$_SESSION['login']."\'); javascript:erase();'); 
form1.setAttribute('method', 'post');
form1.setAttribute('name', 'forml'); 
var textarea1 = window.parent.document.createElement('TEXTAREA'); 
textarea1.setAttribute('name', 'text');
textarea1.setAttribute('cols', '40');
textarea1.setAttribute('rows', '1');
var input1 = window.parent.document.createElement('INPUT'); 
input1.setAttribute('type', 'submit');
input1.setAttribute('value', 'Odeslat příspěvek');
 input1.onclick = function(){ 
    if(document.forms.forml.text.value=='') 
    return false;
   };
var div2 = window.parent.document.createElement('DIV');
div2.id = 'm';
form1.appendChild(textarea1);
form1.appendChild(input1);
div1.appendChild(form1);
div1.appendChild(div2);
window.parent.document.body.appendChild(div1);
}
</script>

";  $_SESSION[$result["id_chatu"]] = 'true'; } }

}
 echo '<script type="text/javascript">window.setTimeout(function() {location.reload();},5000);</script>'; 


?>
Prosím poraďte mi, proč mi nejde odesílat formulář z IE. Děkuji
Davex
Profil
Nezkoušel jsem to, ale možná pomůže Doporučuji užívat standardní vlastnosti HTML DOMu místo getAttribute/setAttribute.
perwin
Profil
Davex:
Takže mám použít místo setAttribute -> getAttribute?
perwin
Profil
Davex:
Právě jsem si všiml jedné chyby. Jak je v souboru run.php:
echo '<login style="display:none;">'.$nick.'</login>';,
tak to v IE vůbec není skryté, - je možné, že IE tento tag nepřijímá, a proto se to nechce odeslat pomocí engine.js (můj kód je indetický)?
Chamurappi
Profil
Reaguji na perwina:
Takže mám použít místo setAttribute -> getAttribute?
Ne. Máš si přečíst, co je napsané na odkázané stránce a poslechnout tamní radu — proto tu ten odkaz (už potřetí) padl.

tak to v IE vůbec není skryté
Element <login> v HTML neexistuje, není důvod, aby na něm fungoval atribut style.

je možné, že IE tento tag nepřijímá, a proto se to nechce odeslat
Spíš ne. Ten element žádnou funkci, kterou bys potřeboval, nemá, ne?
perwin
Profil
Chamurappi:
Ten element žádnou funkci, kterou bys potřeboval, nemá, ne?
No samozřejmě, že ten neexistující tag mohu změnit, ale pak bych musel měnit i engine.js, třeba to upravit třeba na <span>.
A nevíš prosímtě, proč mi to tedy nefunguje v IE?

Podle tamní rady mám tedy např.:
input1.setAttribute('type', 'submit');
a mám to dát do
input1.type = 'submit';
?
Chamurappi
Profil
Reaguji na perwina:
pak bych musel měnit i engine.js, třeba to upravit třeba na <span>.
Mno, to by bylo strašlivé, kdybys musel používat normální HTML :-)

A nevíš prosímtě, proč mi to tedy nefunguje v IE?
Jestli je tohle ta živá ukázka, kterou pořád tak úzkostlivě tajíš, tak ta ukazuje v chybové konzoli Exploreru jasnou hlášku, že document.inner neexistuje — protože to je <embed> a ty ho máš obalený <object>em. Pokud v prohlížeči funguje <object> (to je případ Exploreru), prohlížeč se na <embed> vybodne (na oba dva, které uvnitř máš), takže přes document.inner nebo document.outer těžko přehraješ zvuk. Stačí číst chybové hlášky.

Podle tamní rady mám tedy např. […]
Ano. Tamní rada mi připadá celkem jasná.

Mimochodem, ten tvůj chat mi během psaní téhle zprávy naalokoval ve Firefoxu dohromady 800 MB paměti. A ještě 500 MB v Internet Exploreru. Nádhera.
perwin
Profil
Chamurappi:
Tato živá ukázka není moje, ta je LosFilipose. Moje živá ukázka není jako tato, ten můj chat probíhá jenom mezi dvěma online uživatelema. V té mé se žádné zvuky ani přehrávat nemají, takže to z toho svýho engine.js souboru mohu klidně vymazat, akorát se bojím, abych nevymazal i něco, co nemám vymazat...

Mno, to by bylo strašlivé, kdybys musel používat normální HTML :-)
To byla ironie?
perwin
Profil
Díkybohu se mi už povedlu udělat ten chat 'live' - aby se ta poslaná zpráva zobrazila hned ve výpisu zpráv.
Přišel jsem na něco ohledně té chyby v IE - podle mě to bude na 90% chyba u toho inputu na odesílání..
protože když v IE něco napíšu do toho textoveho pole a kliknu na Odeslat příspěvek, nic se nestane a napsaný text zůstane stejný -> no prostě to ten submitovej input nechces odeslat....
Tady někde tudíž bude chyba:
var input1 = window.parent.document.createElement('INPUT'); 
input1.type = 'submit';
input1.setAttribute('value', 'Odeslat příspěvek');
 input1.onclick = function(){ 
    if(document.forms.forml.text.value=='') 
    return false;
   };
Děkuji Prosím poraďte mi...
Chamurappi
Profil
Reaguji na perwina:
To byla ironie?
Ne, to bylo myšleno smrtelně vážně :-)

Moje živá ukázka není jako tato
Tvoje živá ukázka není vůbec.

Nechal jsi mě několik minut šťourat v cizím kódu úplně zbytečně. Neporadím ti už vůbec nic, dokud neuvidím živou ukázku tvého problému. A budu i aktivně bránit tomu, aby ostatní mrhali svým časem při spekulování, v čem bys asi tak mohl mít chybu, kterou nikdo kromě tebe neviděl. Zde končí nekonkrétní diskuse — osm stran dohadů stačilo. Chceš-li naši pomoc, dodej odkaz.
perwin
Profil
Chamurappi:
Dobrá, zde je odkaz na živou ukázku :D Přihlásit se můžeš jako test s heslem tester. Budu tam přihlášen jako perwin. Stačí kliknou vpravo nahoře na moje jméno a otevře se chatové okno. Můžeš si vyzkoušet, že v IE ti zpráva odeslat nepůjde, ale jinak ano.
perwin
Profil
Pomohla v něčem ta živá ukázka?
rorsach
Profil
Možná budu za hlupačku, ale zkus jednoduše Google Apps. A máš plně funkční chat vč. videa zdarma za... 5-6 min.?
Deny
Profil *
perwin:
LosFilipos:
Ano, mám
Takto vypadá script při přihlášení:
<?php
ob_start();
>
session_start();
if(isset($_POST['jmeno'])){
require 'db.php';
$name = mysql_real_escape_string($_POST['jmeno']);
$pass = md5($_POST['heslo']);
$query = MySQL_Query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$name' and `heslo` = '$pass'") or die (mysql_error());
>
$Vysledek = mysql_fetch_array($query);
$Vysledek['jmeno'];
if($Vysledek['jmeno']){
$_SESSION['prihlasen'] = 1;
$_SESSION['login'] = $Vysledek['jmeno'];
$_SESSION['UserId'] = $Vysledek['id'];
$_SESSION['UserWeb'] = $Vysledek['web'];
$_SESSION['UserMail'] = $Vysledek['mail'];
$_SESSION['Prava'] = $Vysledek['prava'];
$_SESSION['heslo'] = $Vysledek['heslo'];
$_SESSION['foto'] = $Vysledek['foto'];
$_SESSION['nejpredmet'] = $Vysledek['nejpredmet'];
$_SESSION['icq'] = $Vysledek['icq'];
$_SESSION['zaliby'] = $Vysledek['zaliby'];
$_SESSION['bydliste'] = $Vysledek['bydliste'];
$_SESSION['online'] = $Vysledek['online'];
$yes="yes";
$query = mysql_query("UPDATE uzivatele SET online='$yes' WHERE jmeno='$_SESSION[login]' ") or die (mysql_error());
$bl="web.php" . ((!empty($_POST['cil'])) ? "?page={$_POST['cil']}" : '');
header("Location: $bl");
} else {
>
$bl="web.php?page={$_POST['cil']}&Alert=6";
header("Location: $bl");
}
mysql_free_result($query);
} else{
echo "Zde nic není ­;-)";
}
ob_end_flush();
?>
Z vlastní zkušenosti vím že lepší je do SESSION ukládat pouze id uživatele a zbytek vytáhnout z databáze

<?
db();
$vysledek = mysql_query("SELECT * FROM uzivatele WHERE id='$_SESSION[UserId]'");
while ($zaznam = mysql_fetch_array($vysledek) ):
echo"$zprava[jmeno] $zprava[prijmeni] a ostatni polozky z databaze, je to mnohem snadnější řešení";
endwhile;
« 1 2 3 4 5 6 7 8

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0