Trying to access array offset on value of type null in – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Trying to access array offset on value of type null in – PHP – Fórum – Programujte.comTrying to access array offset on value of type null in – PHP – Fórum – Programujte.com

 

Michal
~ Anonymní uživatel
683 příspěvků
22. 11. 2020   #1
-
0
-

Dobrý deň, učim sa programovať v PHP. A skušam testovať na svojom PC cez xampp a vypisujemi upozornenie

Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\funkcie\form\Sablona.php on line 31

Notice: Undefined variable: data in C:\xampp\htdocs\funkcie\form\Sablona.php on line 18

Začal som kodovať Sablona.php 

<?php
include_once __DIR__."/../db/MySQL.php";
include_once __DIR__."/../form/Form.php";

class Sablona{
	
	public function __construct(){
		session_start();

 		$this->Form  = new Form;
 		$this->MySQL = new MySQL;
 		$form = null;

 	}	

 	private function seo(){
 		$form  = $this->Form->nadpis('Seo');
 		$form .= $this->Form->input('data[4]','Title',null, null,$data[4],1);
 		$form .= $this->Form->input('data[5]','Kĺúčové slová',null, null,$data[5],0);
 		$form .= $this->Form->input('data[6]','Krátky popis','Je to informácia o stránke, ktorú vyhľadávače niekedy používajú ako popis odkazu vo výsledkoch hľadania.', null,$data[6],1);
 		$form .= $this->Form->input('data[7]','Robot', null, 'index, follow',$data[7],1);
 		$form .= $this->Form->input('data[8]','Google Robot', null, 'snippet, archive', $data[8],1);
 		$form .= $this->Form->input('data[9]','Site name (Facebook)',null, null, $data[9],1);

 	 return $form;	
 	}

 	public function blog($data){
 		
 		$form  = $this->Form->nadpis('Článok');
 		$form .= $this->Form->input('data[0]','Názov článku',null, null,$data[0],1); 		
 		$form .= $this->Form->select('data[1]','Kategória článku','Pod,aký projekt sa ma zobrazovať článok', array("a" => "1"), $data[1],1);
 		$form .= $this->Form->textarea('data[2]','Uvod','Krátky úvod pre článok odpo. max 400 znakov.', $data[2],1);
 		$form .= $this->Form->textarea('data[3]','Článok',null,$data[3],1);

 		$form .= Sablona::seo();		

 		$form .= $this->Form->nadpis('Obrázok');
 		$form .= $this->Form->file('file','Hlavný obrázok','Max 2MB.',1);

 		$form .= $this->Form->nadpis('Zobrazovať');
 		$form .= $this->Form->select('data[10]','Aktívna stránka','Stránka sa ma zobrazovať hneď na Vašej webstránke?',array("1" => "Áno", "0" => "Nie"),$data[10],1);
 		$form .= $this->Form->time('data[11]',$data[11]);

 	 return $form;	
 	}




}

$Sablona = new Sablona;
echo $Sablona->blog(null);
?>

a Form.php 

<?php 
class Form{

	private function povinne($povinne){
		if($povinne == 1){
			$povinne  = '*';
			$povinneInput = 'required';
		}else{
			$povinne  = null;
			$povinneInput = null;	
		}		
 	 return array($povinne, $povinneInput);
	}

	private function default($default,$nazov){

		if(empty($default)){
			$default = $nazov;
		}else{
			$default = $default;
		}
	 return $default;		
	}

	public function nadpis($nadpis){
		return '<div class="row form-group">
                    <div class="col col-md-3">
                        <label for="text-input" class=" form-control-label">'.$nadpis.'</label>
                    </div>
                    <div class="col-12 col-md-9">             
                    </div>
                </div>';
	}

	public function input($name,$nazov,$popis,$default,$data,$povinne){
		
		list($povinne, $povinneInput) = Form::povinne($povinne);
		$default = Form::default($default,$nazov);

		return '<div class="row form-group">
                    <div class="col col-md-3">
                        <label for="text-input" class=" form-control-label">'.$nazov.': '.$povinne.'</label>
                    </div>
                    <div class="col-12 col-md-9">
                        <input type="text" id="text-input" name="'.$name.'" placeholder="'.$default.'" class="form-control" value="'.$data.'" '.$povinneInput.'>  
                        <small class="form-text text-muted">'.$popis.'</small>
                    </div>
                </div>';
	}	

	public function time($name,$data){
		
		if(empty($data)){
			$data = date('Y-m-d');
		}

		return '<div class="row form-group"> 
                    <div class="col-4 col-md-4">
                        <label for="text-input" class=" form-control-label">Dátum:</label>                                               
                    </div>                         
                    <div class="col-8 col-md-8">
                        <input class="form-control" name="'.$name.'" type="date" value="'.$data.'" id="example-date-input">                                  
                    </div>
                </div>';
	}

	public function select($name,$nazov,$popis,$moznosti,$data,$povinne){

		$select = null;

		list($povinne, $povinneInput) = Form::povinne($povinne);
	

		foreach($moznosti as $key => $value){

			if($data == $key){
				$selected = 'selected';
			}else{
				$selected = null;
			}

			$select .= '<option value="'.$key.'" '.$selected.'>'.$value.'</option>';
		}



		return '<div class="row form-group">
                    <div class="col col-md-3">
                        <label for="text-input" class=" form-control-label">'.$nazov.': '.$povinne.'</label>
                    </div>
                    <div class="col-12 col-md-9">
                        <select name="'.$name.'" id="selectLg" class="form-control" '.$povinneInput.'>
                        	<option value="">--------</option>
                        	'.$select.'
                        </select>
                        <small class="form-text text-muted">'.$popis.'</small>
                    </div>
                </div>';
	}

	public function file(){

	}

	public function textarea(){

	}
}
?>

Viete mi poradiť čo robim zle?

Nahlásit jako SPAM
IP: 178.41.91.–
Kit+15
Guru
22. 11. 2020   #2
-
0
-

#1 Michal
$data je null. Pracuješ s ním, jako by to bylo pole.

Nahlásit jako SPAM
IP: 46.135.26.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 24 hostů

Podobná vlákna

(Array == NULL) = 1 -> ? — založil Matěj Andrle

Brigáda MS Access, Access VBA — založil hejhula

Input type text — založil roman.jaros

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý