03-09-2012, 03:20
Witam,
Ostatnio zacząłem się bawić ze smarty i w zasadzie tablicami, bo wcześniej ich nie używałem i narodził mi się problem, którego przy pomocy google i licznych przykładów, nie udało mi się rozwiązać.
Próbuję zastosować kilka przykładów (gdyby przypadkiem któryś zadziałał).
Kod na obecną chwilę to mini poligon, bo próbuję zrobić by cokolwiek zadziałało, przez to zastosowane są 2 przykłady tablic i różne przykłady by wyswietlić.
Wycinek klasy.
smarty
I jak na razie udało mi się uzyskać różnymi metodami prób i błędów, ze albo 1 z komunikatów jest wyświetlany albo napis array.
Np zostawię pusty treść wyświetla komunikat błędu treści, zostawię tytuł wpiszę treść to wyświetla komunikat błędu tytułu, zostawię 2 wolne wypisuje komunikat błędu treści bez tytułu.. czasami jak pozmieniałem pokręciłem to pokazuje napis Array.. Tablic dopiero się uczę więc proszę o nakierowanie co robię źle..
Co zrobić by w przypadku wolnych pól tytuł i treść smarty wyświetlało mi obydwa komunikaty błędu ?
Ostatnio zacząłem się bawić ze smarty i w zasadzie tablicami, bo wcześniej ich nie używałem i narodził mi się problem, którego przy pomocy google i licznych przykładów, nie udało mi się rozwiązać.
Próbuję zastosować kilka przykładów (gdyby przypadkiem któryś zadziałał).
Kod na obecną chwilę to mini poligon, bo próbuję zrobić by cokolwiek zadziałało, przez to zastosowane są 2 przykłady tablic i różne przykłady by wyswietlić.
Wycinek klasy.
Kod PHP:
protected $monit = array();
public function coment_insert() {
$monit[] = $monit;
$error = "";
if (isset($_POST['tytul']) || isset($_POST['tresc']) || isset($_POST['submit'])) {
$tytul = stripslashes(strip_tags(trim($_POST["tytul"])));
$tresc = stripslashes(strip_tags(trim($_POST["tresc"])));
if (($this->min_max(3, 25, $_POST['tytul'])) == true) {
$error++;
$this->monit[1] = $this->message('Tytuł min 3 max 25 znakow.', 2);
$monit = $this->monit[1];
}
if (($this->min_max(5, 250, $_POST['tresc'])) == true) {
$error++;
$monit = $this->message('Treść min 5 max 250 znaków!', 2);
//$monit = $this->monit[2];
}
if ($error == 0) {
if (!isset($_GET['update_coment'])) {
$result = $this->query("insert into `coment` (
`news_id`,
`tytul`,
`tresc`,
`data_dodania`)
VALUES(
'{$_GET['news_id']}',
'{$_POST['tytul']}',
'{$_POST['tresc']}',
NOW())");
$monit[3] = $this->message('News dodany !', 1);
} else {
$result = $this->query("UPDATE coment set
tytul='$tytul',
tresc='$tresc'
WHERE
coment_id={$_GET['update_coment']
}");
$monit[4] = $this->message('Zaktualizowano.', 1);
$monit = $this->monit[4];
}
}
}
return $monit;
}
smarty
Kod PHP:
{$monit} bez section. w news comment<br />
{section name=messages loop=$monit}{$messages}{$monit[messages]}{/section} z petla section
I jak na razie udało mi się uzyskać różnymi metodami prób i błędów, ze albo 1 z komunikatów jest wyświetlany albo napis array.
Np zostawię pusty treść wyświetla komunikat błędu treści, zostawię tytuł wpiszę treść to wyświetla komunikat błędu tytułu, zostawię 2 wolne wypisuje komunikat błędu treści bez tytułu.. czasami jak pozmieniałem pokręciłem to pokazuje napis Array.. Tablic dopiero się uczę więc proszę o nakierowanie co robię źle..
Co zrobić by w przypadku wolnych pól tytuł i treść smarty wyświetlało mi obydwa komunikaty błędu ?