Autor Zpráva
gs3
Profil *
Mám problém v tomto scriptu i když předám prazdné hodnoty tak se vše tváří že je v pořádku.
<?php
class Novinky
{
	public $autor;      
	public $text; 
	public $datum;
	public $nadpis;
	public $dotaz;     
	 
	function nastavAutora($autor) {     
		if ($autor == "") echo "Nevyplnil jsi Autora!"; 	 	
		else $this->autor = $autor;        
	}
	function nastavText($text) { 
		if ($text == "") echo "Nevyplnil jsi text!";
		else $this->text = $text;     
	} 
	function nastavDatum($datum) {
		if ($datum == "") echo "Nevyplnil jsi datum!";
		else $this->datum = $datum;     
	}
	function nastavNadpis($nadpis) {
		if ($nadpis == "") echo "Nevyplnil jsi nadpis!";
		else $this->nadpis = $nadpis;   
	}
	
} 
$novinka = new Novinky();
$novinka->datum = $_POST['datum'];
$novinka->nadpis = $_POST['nadpis']; 
$novinka->text = $_POST['text'];
$novinka->autor = $_POST['autor'];  

Děkuji za rady.
mckay
Profil
gs3:
Prakticky nic ve skriptu neděláš. Nevoláš ty metody, se kterýma pracuješ.
gs3
Profil *
No to bude asi tím. Já za tím vždy hledám něco složitýho. A ono jsou to pi..... Díky moc
tiso
Profil
$novinka->datum = $_POST['datum'];

zmeň na:
$novinka->nastavDatum($_POST['datum']);

obdobne ostatné veci...
gs3
Profil *
díky moc Tiso
gs3
Profil *
Tiso:
Tak i když to upravím jak jsi psal ty stejně se podmínka nevykonná.
Kacko
Profil
gs3:
Idealne zmen ty promenne na private, aby jsi tam tu prazdnou hodnotu nemohl nacpat.
gs3
Profil *
I když ty proměnné změním na private stále jde poslat prázdný formulář.
Nox
Profil
případně můžeš použít overloading/magické metody http://www.php.net/manual/en/language.oop5.overloading.php

tak nám dej skript kde se to ověřuje, tady není nikde žádná podmínka, žádná struktura
Kacko
Profil
class Novinky
{
    public $autor;      
    public $text; 
    public $datum;
    public $nadpis;
    public $dotaz;     
     
     public function __set($key,$value)
     {
       if(empty($key) || empty($value)){
         throw new Excetpion("Nevyplnil jsi ".$key);
       }
       $this->$key = $value;
     }    
} 
gs3
Profil *
Díky Kacko tvůj kód funguje perfektně. Díky všem za ztracenej čas se mnou.
Nox
Profil
jenom malý překlep > Exception

----
hlavně to slouží pro užití v try-catch bloku, takže tomu přizpůsobit i část užití

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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