Am observat ca, daca am functia add asa:
functioneaza.
Daca inclocuiesc id cu ip nu mai functioneaza.
Cand este apelata Update (adica atunci cand editez topicul) primesc o eroare (a doua poza). Mesajul Eroarea vine de la poza 3.
Am observat ca, daca am functia add asa:
functioneaza.
Daca inclocuiesc id cu ip nu mai functioneaza.
Cand este apelata Update (adica atunci cand editez topicul) primesc o eroare (a doua poza). Mesajul Eroarea vine de la poza 3.
Motivul e simplu, $_POST nu conţine ip-ul. Altă întrebare
Si cum ii atribui lui $_POST ip-ul?
Nu se face asa, dar va functiona:
$_POST["ip"] = $_SERVER["REMOTE_ADDR"] ;
public function add($data) {
$query = $this->connection->prepare(
"INSERT INTO topics (
title,
description,
id,
ip
) VALUES (
:title,
:description,
:id,
:ip
)");
$data = [
':title' => $data['title'],
':description' => $data['description'],
':id' => $data['id'],
':ip' => $_SERVER['REMOTE_ADDR']
];
$query->execute($data);
}
public function update($data) {
$query = $this->connection->prepare(
"UPDATE topics SET title = :title,
description = :description
ip = :ip
WHERE
id= :id"
);
$data = [
':id' => $data['id'],
':title' => $data['title'],
':description' => $data['description'],
':ip' => $_SERVER['REMOTE_ADDR']
];
return $query->execute($data);
}
Nu cred ca se recomandă o astfel de inconsecvenţă, o parte din date sa vină prin argument, o parte să vină din variabile globale. Dacă vei avea nevoie sa modifici ip-ul, nu va funcţiona.
Nu o sa am nevoie sa modific IP-ul din fericire
Am rezolvat, multumesc tuturor de ajutor!
Hey, am revenit din pacate
Acum am o alta problema. Vreau sa incarc toate topic-urile create de un user. Ideea e ca nu merge.
Folosesc urmatoarea functie:
Iar aici este apelata functia:
Nu imi da o eroare sau ceva de genul. Asa arata pagina:
Baga acel $topics in var_dump si vezi ce returneaza
Cine e $data[‘ip’] in acel bindParam ?
e cel de la functia de add si update.
eeee, vezi !
null strica tot in orice limbaj
Ai uitat sa pui $data la functie, parametrul.
Incearca sa intelegi cum functioneaza scope-ul in php:
http://php.net/manual/en/language.variables.scope.php
Daca o sa afisezi acel $data[‘ip’] cel mai probabil o sa fie gol. Presupun ca nu l-ai initializat nicaieri, si nici nu e global, si nici nu-l transmiti ca parametru in functie.
Adrian si Serghei ti-au aratat cum sa iei ip ul folosind $_Server
foloseste si tu
nu este poate o metoda sigura
Obiectele se acceseaza cu $obj->key.
Am încercat și așa, dar tot nu afișează nimic.
Ai link ul proiectului de unde te inspiri ?
Ziceai ca este pe github