A co s temi daty ma delat? Ty data se ztrati, kdyz se nepouziji. Muzes tam dat pridej Pepu. Prida to Pepu, ok. I po dalsim stisku. Pak budes spesl volat novy ajax kvuli tomu, abys zobrazil vysledek?
Nemuzes dat funkci demo kod, ktery ti nefunguje a na nem popsat co? Jako, nezkousel jsem vytvorit tabulku, ale muzu zkusit klidne presne tvuj kod. Jen potrebuji nejak overit, neco vypsat, treba, podle ceho budu vedet, ze to funguje spravne nebo ne (ze se mi to vypise ci nevypise). Tvuj kod nic nevypisuje a neni dokoncen. Takze bych se neodvazoval tvrdit, ze funguje ci nefunguje, kdyz tam podstatne veci nejsou.
Příspěvky odeslané z IP adresy 2001:718:2601:1f7:64ae:54...–
http://php.net/manual/en/function.error-reporting.php
Zkus pridat na zacatku povoleni chyb, jestli to s tou diakritikou nepise nejaky problem.
@ini_set('error_reporting', E_ALL);
@ini_set("display_errors", "on");
error_reporting(E_ALL);
Tez je dobre mu vnutit kodovani pres header. Na servery se nekdy neda spolehat. A mozna i do hml kodu.
header("Content-type: text/html; charset=utf-8");
A taky muzes zkusit nechat to, jak to mas a zrusit radek s kodovani, jestli to prijde aspon s klikyhaky
//'Content-type: text/html; charset=UTF-8;' . "\r\n" .
Co na to rici? Opet mi to funguje...
<html>
<head>
<meta charset="UTF-8">
<!--script src="jquery-1.11.0.js"></script-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<title></title>
</head>
<body>
<div id="prvni">uloz prvni</div>
<div id="druhy">uloz druhy</div>
<div id="treti">uloz treti</div>
<br>
<p id="vystup"></p>
<script>
$("div").click(function(event)
{
var f,d;
f = "jq-out.php";
d = {jmeno: event.target.id};
$.post(f, d, function(data)
{
$("#vystup").html(data);
});
});
</script>
</body>
</html>
<?php
$value = $_POST['jmeno'];
$name = 'Pepa';
$size = filesize($name);
$fp = fopen($name,'r');
$data = fread($fp,$size);
fclose($fp);
$data .= $value;
$fp = fopen($name,'w');
fwrite($fp,$data);
fclose($fp);
echo $data;
?>
On by tag script mel byt bud v body nebo head. Ale ten minuly kod, co jsem poslal, ve FF fungoval, tak jsem si toho nevsiml. Je mozne, ze to nektery prohlizec neuznava, kdyz porusis pravidla.
Muzes, sim te, prestat michat data primo do programu? Jako treba $_POST primo do sql dotazu bez osetreni na chyby. Hackeri to maji radi. Zkus tam dat do te promenne "' OR ''='" :) Vznikne pak dotaz
SELECT * FROM tabulka WHERE nazev='' OR ''=''; -- coz je totez jako
SELECT * FROM tabulka WHERE ''=''; -- coz je totez jako
SELECT * FROM tabulka;
A pokud nemas sifrovana hesla, tak hacker prave ziskal kompletni tabulku hesel uzivatelu. Pokud tedy nasledny script zobrazi vsechny sloupce...
A ses si jisty, ze ten php kod je dobre? zkousel jsi misto $_POST tam napsat treba Pepa a spusteni toho kodu fungovalo? Ja jen, ze tam mas treba $result, ale z resultu se ziskavaji data dalsim kodem, ktery tam nemas uvedeny. Take tam nemas zadne echo.
--- tomino.php ---
<?php
$servername = 'localhost';
$username = 'root';
$password = '';
$db = 'databaze';
$conn = new mysqli($servername, $username, $password, $db);
if ($conn->connect_error){
die ("connection failed:" . $conn->connect_error);
}
//$jmeno = $_POST['jmeno'];
$jmeno = 'Pepa';
$sql = "SELECT * FROM tabulka Where nazev='$jmeno'";
$result = $conn->query($sql);
// tady schazi dalsi php kod a echo pro vyzkouseni vystupu
$conn->close();
?>
Az tam ten kod dopises a echo nejake hodnoty nebo print_r pro cele pole, tak si to spust
h ttp://localhost/x/jquery/jq-out.php
A pokud to vypise spravne, tak tak tam vratis post a echo zakomentujes.