PHP将字符串与Char进行比较

时间:2014-03-02 17:56:25

标签: php directory compare

我在查看将字符串与char进行比较时遇到了麻烦。 我有一个下拉菜单,有两个选项1.教练2.运动员。提交时,值“C”或“A”存储在我的数据库“type”下。我已经让程序看到是否已经创建了“user”,如果“user”不存在,将创建一个目录。因此,只有当“C”作为用户帐户“type”提交时,才能创建目录。

我的代码如下:mytest.php

<?php
$username = "root";
$password = "";
$hostname = "localhost";
$database = "basketball_database";
$table = "users";

mysql_connect($hostname, $username, $password)
 or die("Unable to connect to MYsql");
// echo "Connected to mysql<br>";

 mysql_select_db("$database")
 or die("Could not select Basketball_database");
 //echo "Connected to database";

 //check to see if user exists
 $userquery = mysql_query("SELECT login_name FROM $table WHERE login_name='$_POST[loginName]'");

  if (mysql_num_rows($userquery) != 0)
  {
      echo "Username already exists";
  }//end user exists

//insert data to database
  else
  {
 //insert into database
 $mysql = "INSERT INTO $table(login_name, password, last_name, first_name, type) VALUES('$_POST[loginName]','$_POST[password]','$_POST[lastName]','$_POST[firstName]','$_POST[dropdown]')";
 echo "User was added";
 echo '<br>';

 if(!mysql_query($mysql))
 die("Disconnected");

 mysql_close();

我需要帮助的部分。
      //创建文件夹

 //check to see if user is coach
 $typequery = mysql_query("SELECT type FROM $table WHERE type='$_POST[dropdown]'"); 
 $Ctype="C";
 if (strcmp($typequery,$Ctype))
  {
      echo "Directory not created for Athletes";
  }// directory for athletes

    //Submit button create directory
  else
  {
 if(isset($_POST['reg_submit'])){
     $username=$_POST['loginName'];
    $cur = getcwd();

    if(is_dir($cur . '/'.$username))
    {
        echo "Directory Exists";
    }//end directory exist

    //create directory
    else{
    $new = mkdir($cur . '/'.$username, 0777);

    if ( $new ) {
        echo '<p>Directory created</p>';
    } //end directory created
    else {
        echo '<p>Directory not created</p>';
    }//end directory failed
    }//end create directory
 }// end Submit button create directory
  }//end insert data to database
  }//end else user exist
?>

<html>
<title>User Added</title>

<body>
</body>
<form action="users-form.php" method="post">
<input type="submit" value="Add Another User">
</form>
</html>

如果您需要使用提交按钮的相应页面,请告诉我。谢谢

2 个答案:

答案 0 :(得分:1)

如果我理解得很好,那么你应该过滤掉(即)login_name来获取用户的类型:

$typequery = mysql_query("SELECT type FROM $table WHERE login_name='$_POST[loginName]");

不要忘记从$ typequery中获取行 - 它只是一个资源! (见http://php.net/mysql_query

当你得到类型时,你可以将它与一个简单的'=='运算符进行比较,就像@abbiya所说的那样。

最后,不推荐使用php mysql库,你的代码非常容易受到攻击 - 请参阅:Why shouldn't I use mysql_* functions in PHP?

答案 1 :(得分:0)

不确定你想要什么,但如果两个字符串相等,strcmp函数返回0。在您的情况下,即使用户使用c提交表单,也将执行else部分。检查strcmp函数的返回值。您也可以将字符与===

进行比较

if(typequery == ctype) { //创建一个文件夹 } else if(typequery =='A') {//显示消息 } else {}

尝试以上方式