Autor | Zpráva | ||
---|---|---|---|
Jiří Ráb Profil |
#1 · Zasláno: 17. 1. 2019, 21:15:40
Ahoj dělám třídu na registraci a php mi hlásí že mám chybu na prepare ale nevím co s tím? pošlu niže kod a chybu, kterou hlásí php
<?php class Registrace { public $username; private $heslo1; private $heslo2; private $krestniJmeno; private $prijmeni; public $mail; private $ulice; private $cp; private $mesto; private $psc; private $lastID; public $connect; private $hash; private $pravo; public function __construct($username, $heslo1, $heslo2, $krestniJmeno, $prijmeni, $mail, $ulice, $cp, $mesto, $psc, $connect) { $this->username=$username; $this->heslo1=trim($heslo1); $this->heslo2=trim($heslo2); $this->krestniJmeno=$krestniJmeno; $this->prijmeni=$prijmeni; $this->mail=$mail; $this->ulice=$ulice; $this->cp=$cp; $this->mesto=$mesto; $this->psc=str_replace(" ","",$psc); $this->hash=password_hash($this->heslo1,PASSWORD_DEFAULT); $this->pravo=0; } public function getKrestni(){ return $this->krestniJmeno; } public function getPrijmeni(){ return $this->prijmeni; } public function getUlice(){ return $this->ulice; } public function getCp(){ return $this->cp; } public function getMesto(){ return $this->mesto; } public function getPsc(){ return $this->psc; } public function regularVstup() { $pattern_email="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"; $pattern_psc="/^\d{3} ?\d{2}$/"; $pattern_cp="/^(\d+(\/\d+[a-zA-Z]?)?)$/"; $pattern_fsname="/^[a-zěščřžýáíéA-zĚŠČŘŽÝÁÍÉ]{1,10}$/"; if(preg_match($pattern_fsname,$this->krestniJmeno) && preg_match($pattern_fsname,$this->prijmeni)){ $fsname_stav=true; }else{ $sfname_stav=false; header("Location:registrace.php?errors=Nesprávně zadané křestní jméno nebo příjmení&username=$this->username&firstname=$this->krestniJmeno&surname=$this->prijmeni&email=$this->mail&ulice=$this->ulice&cp=$this->cp&mesto=$this->mesto&psc=$this->psc"); } if(preg_match($pattern_email,$this->mail)==true){ $email_stav=true; }else{ $email_stav=false; header("Location:registrace.php?errors=Nesprávně zadaný email&username=$this->username&firstname=$this->krestniJmeno&surname=$this->prijmeni&email=$this->mail&ulice=$this->ulice&cp=$this->cp&mesto=$this->mesto&psc=$this->psc"); } if(preg_match($pattern_psc,$this->psc)==true){ $psc_stav=true; }else{ $psc_stav=false; header("Location:registrace.php?errors=Nesprávně zadané psč&username=$this->username&firstname=$this->krestniJmeno&surname=$this->prijmeni&email=$this->mail&ulice=$this->ulice&cp=$this->cp&mesto=$this->mesto&psc=$this->psc"); } if(preg_match($pattern_cp,$this->cp)==true){ $cp_stav=true; }else{ $cp_stav=false; header("Location:registrace.php?errors=Nesprávně zadané čp&username=$this->username&firstname=$this->krestniJmeno&surname=$this->prijmeni&email=$this->mail&ulice=$this->ulice&cp=$this->cp&mesto=$this->mesto&psc=$this->psc");} if($cp_stav==true && $psc_stav==true && $email_stav==true && $fsname_stav==true){ return true; }else{ return false; } } public function rovnostHesel(){ if($heslo1==$heslo2){ return true; }else{ return false; } } public function existAdress() { try { $select_adress="SELECT id_adresa FROM adresa WHERE ulice=:ulice AND cp=:cp AND mesto=:mesto AND psc=:psc"; $select_prepare_adress=$this->connect->prepare($select_adress); $select_prepare_adress->bindParam(":ulice",$this->ulice); $select_prepare_adress->bindParam(":cp",$this->cp); $select_prepare_adress->bindParam(":mesto",$this->mesto); $select_prepare_adress->bindParam(":psc",$this->psc); $select_exist="SELECT count(*) as pocet FROM adresa WHERE ulice=:ulice AND cp=:cp AND mesto=:mesto AND psc=:psc "; $select_prepare_exist=$this->connect->prepare($select_exist); $select_prepare_exist->bindParam(":ulice",$this->ulice); $select_prepare_exist->bindParam(":cp",$this->cp); $select_prepare_exist->bindParam(":mesto",$this->mesto); $select_prepare_exist->bindParam(":psc",$this->psc); if($select_prepare_exist->execute()){ $vysledek_exist=$select_prepare_exist->fetch(PDO::FETCH_ASSOC); if($vysledek_exist['pocet']>0){ return true; if($select_prepare_adress->execute()){ $vysledek_adress=$select_prepare_adress->fetch(PDO::FETCH_ASSOC); $this->lastID=$vysledek_adress['id_adresa']; } }else{ return false; } } } catch (PDOException $e) { echo $e->getMessage(); die(); } } public function vlozeniAdresy() { try { $insert_adress="INSERT INTO adresa(ulice,cp,mesto,psc) VALUES (:ulice,:cp,:mesto,:psc)"; $insert_prepare_adress=$this->connect->prepare($insert_adress); $insert_prepare_adress->bindParam(":ulice",$this->ulice); $insert_prepare_adress->bindParam(":cp",$this->cp); $insert_prepare_adress->bindParam(":mesto",$this->mesto); $insert_prepare_adress->bindParam(":psc",$this->psc); if($insert_prepare_adress->execute()){ $this->lastID=$this->connect->lastInsertId(); return true; }else{ return false; } } catch (PDOException $e) { echo $e->getMessage(); die(); } } public function vlozeniUzivatele() { try { $insert_user="INSERT INTO uzivatele(username,heslo,email,krestni_jmeno,prijmeni,pravo,id_adresa) VALUES(:username,:heslo,:email,:krestni_jmeno,:prijmeni,:pravo,:last_id)"; $insert_prepare_user=$connect->prepare($insert_user); $insert_prepare_user->bindParam(":username",$this->username); $insert_prepare_user->bindParam(":heslo",$this->hash); $insert_prepare_user->bindParam(":email",$this->mail); $insert_prepare_user->bindParam(":krestni_jmeno",$this->krestniJmeno); $insert_prepare_user->bindParam(":prijmeni",$this->prijmeni); $insert_prepare_user->bindParam(":pravo",$this->pravo); $insert_prepare_user->bindParam(":last_id",$this->lastID); if($insert_prepare_user->execute()){ return true; }else{ return false; } } catch (PDOException $e) { echo $e->getMessage(); die(); } } public function existUsername(){ try { $select="SELECT count(*) as pocet FROM uzivatele WHERE username=:username"; $select_user=$this->connect->prepare($select); $select_user->bindParam(":username",$this->username); if($select_user->execute()){ $vysledek_username=$select_user->fetch(PDO::FETCH_ASSOC); if($vysledek_username['pocet']>0){ return true; }else{ return false; } } } catch (PDOException $e) { echo $e->getMessage(); die(); } } public function existEmail(){ try { $select="SELECT count(*) as pocet FROM uzivatele WHERE email=:email"; $select_mail=$this->connect->prepare($select); $select_mail->bindParam(":email",$this->mail); if($select_mail->execute()){ $vysledek_mail=$select_mail->fetch(PDO::FETCH_ASSOC); if($vysledek_mail['pocet']>0){ return true; }else{ return false; } } } catch (PDOException $e) { echo $e->getMessage(); die(); } } } ) Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\wamp64\www\Maturitni_projekt\registrace.class.php on line 211 ( ! ) Error: Call to a member function prepare() on null in C:\wamp64\www\Maturitni_projekt\registrace.class.php on line 211 Call Stack # Time Memory Function Location 1 0.0006 409064 {main}( ) ...\zpracovani_registrace.php:0 2 0.1303 412784 Registrace->existUsername( ) ...\zpracovani_registrace.php:8 <?php class registrace { public $username; private $heslo1; private $heslo2; private $krestnijmeno; private $prijmeni; public $mail; private $ulice; private $cp; private $mesto; private $psc; private $lastid; public $connect; private $hash; private $pravo; public function __construct($username, $heslo1, $heslo2, $krestnijmeno, $prijmeni, $mail, $ulice, $cp, $mesto, $psc, $connect) { $this->username=$username; $this->heslo1=trim($heslo1); $this->heslo2=trim($heslo2); $this->krestnijmeno=$krestnijmeno; $this->prijmeni=$prijmeni; $this->mail=$mail; $this->ulice=$ulice; $this->cp=$cp; $this->mesto=$mesto; $this->psc=str_replace(" ","",$psc); $this->hash=password_hash($this->heslo1,password_default); $this->pravo=0; } public function getkrestni(){ return $this->krestnijmeno; } public function getprijmeni(){ return $this->prijmeni; } public function getulice(){ return $this->ulice; } public function getcp(){ return $this->cp; } public function getmesto(){ return $this->mesto; } public function getpsc(){ return $this->psc; } public function regularvstup() { $pattern_email="/^[a-za-z0-9._-]+@[a-za-z0-9.-]+\.[a-za-z]{2,4}$/"; $pattern_psc="/^\d{3} ?\d{2}$/"; $pattern_cp="/^(\d+(\/\d+[a-za-z]?)?)$/"; $pattern_fsname="/^[a-zěščřžýáíéa-zĚŠČŘŽÝÁÍÉ]{1,10}$/"; if(preg_match($pattern_fsname,$this->krestnijmeno) && preg_match($pattern_fsname,$this->prijmeni)){ $fsname_stav=true; }else{ $sfname_stav=false; header("location:registrace.php?errors=nesprávně zadané křestní jméno nebo příjmení&username=$this->username&firstname=$this->krestnijmeno&surname=$this->prijmeni&email=$this->mail&ulice=$this->ulice&cp=$this->cp&mesto=$this->mesto&psc=$this->psc"); } if(preg_match($pattern_email,$this->mail)==true){ $email_stav=true; }else{ $email_stav=false; header("location:registrace.php?errors=nesprávně zadaný email&username=$this->username&firstname=$this->krestnijmeno&surname=$this->prijmeni&email=$this->mail&ulice=$this->ulice&cp=$this->cp&mesto=$this->mesto&psc=$this->psc"); } if(preg_match($pattern_psc,$this->psc)==true){ $psc_stav=true; }else{ $psc_stav=false; header("location:registrace.php?errors=nesprávně zadané psč&username=$this->username&firstname=$this->krestnijmeno&surname=$this->prijmeni&email=$this->mail&ulice=$this->ulice&cp=$this->cp&mesto=$this->mesto&psc=$this->psc"); } if(preg_match($pattern_cp,$this->cp)==true){ $cp_stav=true; }else{ $cp_stav=false; header("location:registrace.php?errors=nesprávně zadané čp&username=$this->username&firstname=$this->krestnijmeno&surname=$this->prijmeni&email=$this->mail&ulice=$this->ulice&cp=$this->cp&mesto=$this->mesto&psc=$this->psc");} if($cp_stav==true && $psc_stav==true && $email_stav==true && $fsname_stav==true){ return true; }else{ return false; } } public function rovnosthesel(){ if($heslo1==$heslo2){ return true; }else{ return false; } } public function existadress() { try { $select_adress="select id_adresa from adresa where ulice=:ulice and cp=:cp and mesto=:mesto and psc=:psc"; $select_prepare_adress=$this->connect->prepare($select_adress); $select_prepare_adress->bindparam(":ulice",$this->ulice); $select_prepare_adress->bindparam(":cp",$this->cp); $select_prepare_adress->bindparam(":mesto",$this->mesto); $select_prepare_adress->bindparam(":psc",$this->psc); $select_exist="select count(*) as pocet from adresa where ulice=:ulice and cp=:cp and mesto=:mesto and psc=:psc "; $select_prepare_exist=$this->connect->prepare($select_exist); $select_prepare_exist->bindparam(":ulice",$this->ulice); $select_prepare_exist->bindparam(":cp",$this->cp); $select_prepare_exist->bindparam(":mesto",$this->mesto); $select_prepare_exist->bindparam(":psc",$this->psc); if($select_prepare_exist->execute()){ $vysledek_exist=$select_prepare_exist->fetch(pdo::fetch_assoc); if($vysledek_exist['pocet']>0){ return true; if($select_prepare_adress->execute()){ $vysledek_adress=$select_prepare_adress->fetch(pdo::fetch_assoc); $this->lastid=$vysledek_adress['id_adresa']; } }else{ return false; } } } catch (pdoexception $e) { echo $e->getmessage(); die(); } } public function vlozeniadresy() { try { $insert_adress="insert into adresa(ulice,cp,mesto,psc) values (:ulice,:cp,:mesto,:psc)"; $insert_prepare_adress=$this->connect->prepare($insert_adress); $insert_prepare_adress->bindparam(":ulice",$this->ulice); $insert_prepare_adress->bindparam(":cp",$this->cp); $insert_prepare_adress->bindparam(":mesto",$this->mesto); $insert_prepare_adress->bindparam(":psc",$this->psc); if($insert_prepare_adress->execute()){ $this->lastid=$this->connect->lastinsertid(); return true; }else{ return false; } } catch (pdoexception $e) { echo $e->getmessage(); die(); } } public function vlozeniuzivatele() { try { $insert_user="insert into uzivatele(username,heslo,email,krestni_jmeno,prijmeni,pravo,id_adresa) values(:username,:heslo,:email,:krestni_jmeno,:prijmeni,:pravo,:last_id)"; $insert_prepare_user=$connect->prepare($insert_user); $insert_prepare_user->bindparam(":username",$this->username); $insert_prepare_user->bindparam(":heslo",$this->hash); $insert_prepare_user->bindparam(":email",$this->mail); $insert_prepare_user->bindparam(":krestni_jmeno",$this->krestnijmeno); $insert_prepare_user->bindparam(":prijmeni",$this->prijmeni); $insert_prepare_user->bindparam(":pravo",$this->pravo); $insert_prepare_user->bindparam(":last_id",$this->lastid); if($insert_prepare_user->execute()){ return true; }else{ return false; } } catch (pdoexception $e) { echo $e->getmessage(); die(); } } public function existusername(){ try { $select="select count(*) as pocet from uzivatele where username=:username"; $select_user=$this->connect->prepare($select); $select_user->bindparam(":username",$this->username); if($select_user->execute()){ $vysledek_username=$select_user->fetch(pdo::fetch_assoc); if($vysledek_username['pocet']>0){ return true; }else{ return false; } } } catch (pdoexception $e) { echo $e->getmessage(); die(); } } public function existemail(){ try { $select="select count(*) as pocet from uzivatele where email=:email"; $select_mail=$this->connect->prepare($select); $select_mail->bindparam(":email",$this->mail); if($select_mail->execute()){ $vysledek_mail=$select_mail->fetch(pdo::fetch_assoc); if($vysledek_mail['pocet']>0){ return true; }else{ return false; } } } catch (pdoexception $e) { echo $e->getmessage(); die(); } } } ) fatal error: uncaught error: call to a member function prepare() on null in c:\wamp64\www\maturitni_projekt\registrace.class.php on line 211 ( ! ) error: call to a member function prepare() on null in c:\wamp64\www\maturitni_projekt\registrace.class.php on line 211 call stack # time memory function location 1 0.0006 409064 {main}( ) ...\zpracovani_registrace.php:0 2 0.1303 412784 registrace->existusername( ) ...\zpracovani_registrace.php:8 |
||
RastyAmateur Profil |
#2 · Zasláno: 17. 1. 2019, 21:27:31
Jiří Ráb:
„ fatal error: uncaught error: call to a member function prepare() on null in c:\wamp64\www\maturitni_projekt\registrace.class.php on line 211 “
Podíval jsem se do konstruktoru a nevidím, že bys nastavoval proměnnou Registrace::connect , resp. $this->connect , nastavuješ ji někde jinde?
|
||
Časová prodleva: 6 let
|
0