| 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: 7 let
|
|||
0