Показать ошибку электронной почты существует, а также должны принять текущий адрес электронной почты и новый адрес электронной почты во время обновления - PullRequest
0 голосов
/ 12 октября 2018

В моем коде электронная почта существует с ошибкой, если я удаляю NOT EXISTS из запроса SELECT ... но он также говорит, что моя текущая электронная почта существует, когда я обновляю ее ... Так как показать, что электронная почта существует, ошибка в этом кодено также принимать текущую электронную почту при обновлении, а также принимать новую электронную почту при обновлении ... может быть, в запросе выбора поможет при изменении, но я пытался много раз, но это не сработало ... в моем коде, если я использую запрос выбора NOT EXIST, какя упомянул выше на странице company_profile.php, на которой отображается ошибка типа:

**Fatal error: Uncaught Error: Cannot use object of type mysqli_result as array in

C: \ xampp \ htdocs \ hexinor \ company_profile.php: 14 Трассировка стека: # 0 {main}, брошенный в C: \ xampp\ htdocs \ hexinor \ company_profile.php в строке 14 **

So how to change in select query so my code will work for this email exists error and also accept my current email and new email

во время обновления данных ... [введите описание изображения здесь] [1]

Я пробовал более 2дней, но это не работает, так что помогите мне решить эту проблему ... на любом другом сайте его шоу электронной почты существует ошибка только для вставки ... не для обновления, и мне нужно для обновления

company_profile.php

     <?php
    if(isset($_POST['company_id'])) {
        $id = $_POST['company_id'];
        $user = $_SESSION['userr'];
        $query = mysqli_query($conn, "SELECT * FROM companies WHERE email = '".$user."' AND NOT EXISTS(SELECT email FROM companies WHERE company_id = '".$id."')");
        $q = mysqli_fetch_array($query);
    }
    ?>
    <div class="item form-group">
        <label class="control-label col-md-3 col-sm-3 col-xs-12" for="email">Email <span class="required">*</span></label>
        <div class="col-md-6 col-sm-6 col-xs-12">
            <input type="email" id="modal_email" name="modal_work_email" class="form-control col-md-7 col-xs-12" value="<?php if(isset($_SESSION['userr']) && $_SESSION['userr'] != '') { echo $q['email']; } else { } ?>">
            <span id="availability"></span>
        </div>
    </div>

 <script>  
        $(document).ready(function(){  
            $('#modal_email').change(function(){
                var mail = $(this).val();

                $.ajax({
                    url:'ajax_company_profile.php',
                    method:"POST",
                    data:{email:mail},
                    success:function(data)
                    {
                        if(data != '0'){
                            $('#availability').html('<span class="email_valid error">Email already exists</span>');
                            $('#modal_update').attr("disabled", true);
                            $('.email_valid').show();
                        } else{
                            $('.email_valid').remove();
                            $('.email_valid').hide();
                            $('#availability').html('<span class="text-success"></span>');
                            $('#modal_update').attr("disabled", false);
                        }
                    }
                });
            });
        });  
    </script>

ajax_company_profile.php

<?php
session_start();
include('config.php');
if(isset($_POST["email"]))
{
 $email = mysqli_real_escape_string($conn, $_POST["email"]);
 $query = "SELECT * FROM companies WHERE email = '".$email."'";
 $result = mysqli_query($conn, $query);
 echo mysqli_num_rows($result);
}

if(isset($_POST['modal_uid'])) {
    $id = $_POST['modal_uid'];
    $company = $_POST['modal_company_name'];
    $email = $_POST['modal_work_email'];
    $emp = $_POST['modal_no_of_emp'];

    $query = "UPDATE companies SET company_name = '".$company."', email = '".$email."', no_of_emp = '".$emp."' WHERE company_id = '".$id."'";
    $q = mysqli_query($conn, $query);
    if($q>0) {
        session_unset();
        $_SESSION['userr'] = $email;
        echo "Success";
    }
} 
?>

этот запрос на выбор не работает, plzz, скажите мне, почему

$ query = mysqli_query ($ conn, "ВЫБЕРИТЕ * ОТ КОМПАНИЙ, ГДЕ электронная почта = '". $ User."' НЕ СУЩЕСТВУЕТ (ВЫБЕРИТЕ электронную почту ОТ КОМПАНИЙ, ГДЕ company_id = '". $ C_id."') ");$ q = mysqli_fetch_array ($ query);

показывает эту ошибку

Предупреждение: mysqli_fetch_array () ожидает, что параметром 1 будет mysqli_result, логическое значение задано в C: \ xampp \ htdocs \ hexinor \ company_profile.php в строке 10

company_profile.php добавить полный код

<?php
session_start();
  if(empty($_SESSION['userr'])) {
    header("Location: login.php");
}
include_once('company_header.php');
    $c_id = isset($_POST['company_id']);
    $user = $_SESSION['userr'];
    $query = mysqli_query($conn, "SELECT * FROM companies WHERE email = '".$user."' NOT EXISTS (SELECT email FROM companies WHERE company_id = '".$c_id."')");
    $q = mysqli_fetch_array($query);


    $c_id=$q['company_id'];
    $query1 = mysqli_query($conn, "SELECT count(*) FROM employee_list WHERE company_id = '".$c_id."'");
    $m=mysqli_fetch_array($query1);


?>
<?php 

 ?>
<script type="text/javascript">
    $(function(){

      $('#modal_email').keyup(function(){
        var mail = $('#modal_email').val();
      });

    });
 </script>

<script type="text/javascript">
    $(function(){
        $('#modal_update').on('click', function(){
            var ui = $('#modal_uid').val();
            var comp = $('#modal_company_name').val();
            var mail = $('#modal_email').val();

            var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
            var validEmail = reg.test(mail);


            console.log('Starting ajax');
            $.ajax({
                url: 'ajax_company_profile.php',
                type: 'post',
                data: {
                    modal_uid: ui,
                    modal_company_name: comp,
                    modal_work_email: mail,
                },
                success:function(data){
                    // window.location = "company_profile.php";
                }
            });
        });
    });
</script>

                <div class="button_edit">
                    <a id="add_button"><button class="btn btn-default btn-sm" data-toggle="modal" data-target="#exampleModalLong">Edit</button></a>
                </div>
              </ul> 
            </div>

            <div class="col-md-12 col-sm-12 col-xs-12">

                    <form class="form-horizontal form-label-left" novalidate="">
                      <span class="section">Personal Info</span>
                      <?php if(!$q['company_name']==''){ ?>
                      <div class="item form-group">
                        <label class="control-label col-md-3 col-sm-3 col-xs-12" for="Company">Company
                        </label>
                        <div class="col-md-6 col-sm-6 col-xs-12">
                          <input class="form-control col-md-7 col-xs-12 input-box" type="text" value="<?php if(isset($_SESSION['userr']) && $_SESSION['userr'] != '') { echo $q['company_name']; } else { } ?>" readonly>
                        </div>
                      </div>
                      <?php } ?>
                      <?php if(!$q['email']==''){ ?>
                      <div class="item form-group">
                        <label class="control-label col-md-3 col-sm-3 col-xs-12" for="email">Email
                        </label>
                        <div class="col-md-6 col-sm-6 col-xs-12">
                          <input type="email" class="form-control col-md-7 col-xs-12 input-box" value="<?php if(isset($_SESSION['userr']) && $_SESSION['userr'] != '') { echo $q['email']; } else { } ?>" readonly>
                        </div>
                      </div>
                      <?php } ?>
                      <div class="ln_solid"></div>                     
                    </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<!-- Modal -->
<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h2 class="modal-title" id="exampleModalLongTitle">Personal Info</h2>
        <button type="button" class="close close-model-trigger" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <div class="x_content41">
            <form class="form-horizontal form-label-left">
              <div class="item form-group">
                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="company">Company <span class="required">*</span>
                </label>
                <div class="col-md-6 col-sm-6 col-xs-12">
                  <input id="modal_company_name" class="form-control col-md-7 col-xs-12" name="modal_company_name" placeholder="both name(s) e.g Jon Doe" type="text" value="<?php if(isset($_SESSION['userr']) && $_SESSION['userr'] != '') { echo $q['company_name']; } else { } ?>">
                </div>
              </div>
              <div class="item form-group">
                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="email">Email <span class="required">*</span>
                </label>
                <div class="col-md-6 col-sm-6 col-xs-12">
                  <input type="email" id="modal_email" name="modal_work_email" class="form-control col-md-7 col-xs-12" value="<?php if(isset($_SESSION['userr']) && $_SESSION['userr'] != '') { echo $q['email']; } else { } ?>">
                  <span id="availability"></span>
                </div>
              </div>

              <div class="form-group">
                <div class="col-md-6 col-md-offset-3 button-submit">
                  <input type="hidden" name="modal_uid" id="modal_uid" value="<?= $q['company_id']; ?>">
                  <button id="modal_update" type="button" name="modal_update" class="btn btn-success">Update</button>
                  <button type="submit" class="btn btn-primary">Cancel</button>
                </div>
              </div>
            </form>
        </div>
      </div>
    </div>
  </div>
</div>
<script>  
 $(document).ready(function(){  
  $('#modal_email').change(function(){

    var mail = $(this).val();

    $.ajax({
      url:'ajax_company_profile.php',
      method:"POST",
      data:{email:mail},
      success:function(data)
      {
       if(data != '0')
       {
        $('#availability').html('<span class="email_valid error">Email already exists</span>');
        $('#modal_update').attr("disabled", true);
        $('.email_valid').show();

       }
       else
       {
        $('.email_valid').remove();
        $('.email_valid').hide();
        $('#availability').html('<span class="text-success"></span>');
        $('#modal_update').attr("disabled", false);
       }
      }
     });
  });
 });  
</script>

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Это не работает, потому что вы никогда не вызываете метод session_start () в первом классе, что означает, что $ user не определен, потому что в этом конкретном файле $ _SESSION ['userr'] не работаетсуществовать.Кроме того, поскольку вы используете mysqli, вам также необходимо включить файл подключения к базе данных

 <?php
session_start(); //You are missing this
include('config.php'); //You are also missing this
if(isset($_POST['company_id'])) {

?>
0 голосов
/ 12 октября 2018

Вы можете использовать следующие sql:

insert into table (primaryKey, column1..) values (primaryValue, value1) on duplicate key update column1=values(column1);

И, таблица должна иметь один первичный ключ, для этих таблиц это ключ company_id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...