Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,如何从FullName中的名字/姓氏的拆分版本中获取一个人的用户名?_Php_Mysql_Mysqli - Fatal编程技术网

在PHP中,如何从FullName中的名字/姓氏的拆分版本中获取一个人的用户名?

在PHP中,如何从FullName中的名字/姓氏的拆分版本中获取一个人的用户名?,php,mysql,mysqli,Php,Mysql,Mysqli,我正在试着做一个登记入住/退房系统 到目前为止,我有一个下拉列表,可以获得活动事件的列表 <select name="events"> <?php $conn = new mysqli('localhost:3306', 'user', 'pw', 'database') or die ('Cannot connect to db'); $eveny = $conn->query("select event_title from events_even

我正在试着做一个登记入住/退房系统

到目前为止,我有一个下拉列表,可以获得活动事件的列表

<select name="events">

<?php

    $conn = new mysqli('localhost:3306', 'user', 'pw', 'database') or die ('Cannot connect to db');
    $eveny = $conn->query("select event_title from events_event where inactive=0");
    while ($row=mysqli_fetch_array($eveny)) {
                  unset($event);
                  $event = $row['event_title']; 
                  echo '<option value="'.$event.'">'.$event.'</option>';

}
?>
</select>

还有一个文本框,可以根据名字搜索用户,但它会自动显示结果(如谷歌搜索),然后用名字和姓氏填写信息

php中唯一的变化是显示姓名和姓氏的echo,如下所示:

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
                echo "<p>" . $row["per_FirstName"] . " " . $row["per_LastName"] . "</p>";
            }
while($row=mysqli\u fetch\u数组($result,mysqli\u ASSOC)){
回声“”$row[“peru FirstName”]。“$row[“peru LastName”]。”

”; }
现在开始解决问题

我已经使用method=“post”将前端制作成表单和提交按钮

但是我的php中有些东西没有发挥作用/缺乏

<?php
   $db = new mysqli('localhost:3306', 'user', 'pw', 'database') or die ('Cannot connect to db');
   session_start();
      if($_SERVER["REQUEST_METHOD"] == "POST") {
  $myname = mysqli_real_escape_string($db,$_POST['fullname']);
  $eventy = mysqli_real_escape_string($db,$_POST['events']);

  //$checktime = mysqli_real_escape_string($db,date("Y-m-d H:i:s"));
  $evid = "SELECT event_id from events_event where event_title = '$eventy'";
  $revvy = mysqli_query($db,$evid);
  $nameParts = explode(' ', $myname);
  $firstName = trim($nameParts[0]);
  $lastName = trim($nameParts[1]);
  $sql = "SELECT per_ID FROM person_per WHERE per_FirstName = '$firstName' AND per_LastName = '$lastName'";
  $result = mysqli_query($db,$sql);
  //$row = mysqli_fetch_row($result);
  //$result = $result->fetch_all();
  while($row = mysqli_fetch_assoc($result)){
    $perID = $row['per_ID'];
  }
  while($row2 = mysqli_fetch_assoc($revvy)){
    $evvy = $row['event_ID'];
  }
  $count = mysqli_num_rows($result);
  // table row must be 1 row if it succeeded
 if($count == 1) {
     //session_register("myname");
     //$_SESSION['login_user'] = $myname;
     $checkin = "insert into event_attend (attend_id, event_id, person_id, checkin_date) values (DEFAULT, '$evvy', '$perID', now())" or die(mysqli_error());;
     mysqli_query($db,$checkin);
     header("location: checkedin.php");
  }else {
         $error = "An error occurred.";

      }
   }
?>

如果用户的名字和姓氏用空格分隔:

$nameParts = explode(' ', $myname);
$firstName = trim($nameParts[0]);

我认为在这行:$checkin=“insert into event_attent(attent_id,person_id,checkin_date)值(NULL,$result2',$result',now());,您添加了3个列名和4个值。这可能会引起一个问题。请添加4个列名和4个值。然后再试一次。在这一行:$active=$row['active'];您正在尝试获取一个您没有获取的列(您只获取id),为什么不给他们一个唯一的用户名和密码-就像其他登录系统一样?谢谢,通过使用:$lastName=trim($nameParts[1]),我得到了名字,也得到了姓氏;