Diskuze: Získávání proměnných a GET údajů
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
1)
var_dump('get', $_GET);
var_dump('post', $_POST);
var_dump('request = post + get', $_REQUEST);
2)
Ty get parametry si muzes overit primym odkazem na kod. Ajaxove php je normalni
php program.
mujserver.cz/save-message.php?zprava=123
3)
...if($_POST['send'])
...if(empty($_POST['zprava']))
... $_POST['zprava'], $_GET['name']))
Chces poradit? Pouzil pole. Zakoduj ho pomoci json. A odesli jako message nebo q, query.
'url?q=' + JSON.stringify(arr)
JSON.parse - dekoder stringu kodovanem do jsonu
php json_decode / json_encode
Ahoj, je potřeba mít i něco v URL? Pokud vážně ano, pak můžeš při ajaxovém požadavku, kde zadáváš "url", ten parametr přidat, např.
$.ajax({
url:"save-message.php?name=<?php echo $name; ?>"
type:"post"
data:$("#message").serialize()
});
Pokud to tolik nutné není, můžeš si to přes POST přidat třeba hidden inputem.
<input type="hidden" name="name" value="<?php echo $name; ?>">
Pokud se ti nechce dělat ani input, je stále možnost ta data do atributu "data" poslat jinak než jako řetězec. Z hlavy si teď nejsem přesně jistý, ale měly by fungovat nějaké takové možnosti:
do toho pole to pak přidáš jednoduše jako
pole["name"] = "jméno"
var form = $("#form");
var postData = new FormData(form[0]); // první položka z pole proto, že je to JS objekt elementu, který objekt FormData vyžaduje
postData.append("name", "jméno");
$.ajax({
data: postData
});
data: {
"zprava": $("#zprava").val(),
"name": "jméno"
}
Děkuji za rady. Vzhledem k mé znalosti JS, jsem se raději rozhodnul vypsat
si to do data:{} a pak to nechat jen script odeslat. I když se mi moc nelíbí,
že data:{} jsou "veřejná" jelikož JS je klientský ale co se dá dělat.
Snad si s těmi daty nebude nikdo před odesláním hrát. Jelikož se mi nechce
PHP rozjet, protože je serverový a potřebuje refresh, tak mi asi nic jiného
nezbude. Ale k tomuto se stejně ještě vrátím. Nemůžu to takhle nechat.
Každopádně moc děkuji
Ahoj. Moc děkuji za reakci. Už večer jsem to předělal na data:{}. Je to
o něco lepší. Sice bych spíše kvůli další práci potřeboval data
ověřit přes PHP ale co se dá dělat. Prozatím to nechám tak a pak se do
toho zase někdy pustím
Ale i tak děkuji za radu.
Zobrazeno 5 zpráv z 5.