я получаю сообщение об ошибке php, как это исправить? - PullRequest
0 голосов
/ 03 мая 2020

<?php
    header("Cache-Control: no-cache, no-store, must-revalidate");
    header("Access-Control-Allow-Origin: *");

    include 'classMethods.php';
    try{
        $cu="cuzito";
    $method=new Methods(); 
    if(isset($_POST['image']) && isset($_POST['name']) && isset($_POST['email']) && isset($_POST['password'])){
        $cu="test , what have inside ->".$_POST['name'];
      if($method->SaveImageAndURL($_POST['image'])){
        $cu="worked";
      }else{
          $cu="no work";
      }
    }else{
        $cu="empty variables";
    }}catch(Exption $e){
        $cu= "error:". $error->getCode()." | mensage :". $error->getMessage();
    }
    echo $cu;
?>

когда я запускаю его, я получаю неопределенный индекс, я уже пробовал if (isset ($ _ POST ['image'])) {}, который возвращает мне значение false, но с помощью if (isset ($ _ POST) ) {} верните true, я использую ajax


 Register(name:String, email:String,password:String,img:any){
    try{
    $.ajax({
      url:'http://localhost:80/home.php',
      method:'post',
      data:{
        name:name,
        email:email,
        password:password,
        image:img,
      },
      processData: false,
    contentType: false,
      beforeSend: function(){ 
        console.log("data sended, wainting for answser");

      }
    }).done(function(e){  
     console.log(e+"<- answer's php");
     if(e===true){
       alert("Register was a sucess"); 
      this.router.navigate(['/login']); //redirect  the user to the login page
     }
    }).fail(function(jqXHR, textStatus, msg){
      console.log(msg+" <- fail ajax");
      alert("Register was a fail , try again");
 })
  }catch(y){
    console.log(y+" <-have fail , error");
  }
  }

obs: я делаю мобильное приложение с angular 9 или пытаюсь сделать kkkk, в чем проблема с моим кодом? Ты можешь мне помочь?

1 Ответ

0 голосов
/ 03 мая 2020

Проблема в том, что вы пытаетесь получить доступ к неопределенной переменной в синтаксисе else, поэтому попробуйте это исправить код (см. Условия else, я изменил код, чтобы проверить, определен ли этот POST var):

<?php

header("Cache-Control: no-cache, no-store, must-revalidate");
header("Access-Control-Allow-Origin: *");

include 'classMethods.php';

try{
    $cu="cuzito";
    $method=new Methods(); 
    if (isset($_POST['image']) && isset($_POST['name']) && isset($_POST['email']) && isset($_POST['password'])) {
        $cu="tamo ai ->".$_POST['name'];
          if($method->SaveImageAndURL($_POST['image'])) {
            $cu="foi";
          } else {
              $cu="não foi";
          }
    } else {
        $cu="bagulho ta vazio  name{" . (isset($_POST['name']) ? $_POST['name'] : 'is empty' )  ."} | email{". (isset($_POST['email']) ? $_POST['email'] : 'is empty' ) ."} | password {". (isset($_POST['password']) ? $_POST['password'] : 'is empty' ) ."}";//resposta caso a requisição esteja vazia
    }

}catch(Exption $e){
    $cu= "error:". $error->getCode()." | mensage :". $error->getMessage();
}
echo $cu; ?>
...