PHP ifelse通过上传使数据库的post值为null

PHP ifelse makes the post values to database null with upload

本文关键字:数据库 post 值为 null ifelse PHP      更新时间:2023-09-26

我尝试制作一个上传表单并将一些值发布到数据库中。我写了这段代码,但当我回显它时,它会给出一个结果,当我检查数据库时,我得到的值为null——没有值。。。文件已上载并重命名,但没有向数据库发送任何值。

表名:公司

列:


coid
公司名称
company_sign_1
company_sign_name_1
company_sign_name_p_1
company_sign_2
company_sign_name_2
company_sign_name_p_2
company_sign_3
company_sign_name_3
company_sign_name_p_3
company_logo_1
company_logo_2
company_logo_3


我的代码是:

<script type="text/javascript">
function showfield(name){
if(name=='company_sing_1'){
    document.getElementById('div1').innerHTML='Manager Name 1:<BR><input type="text" name="company_sign_name_1" /><BR>Manager Position 1:<BR><input type="text" name="company_sign_name_p_1" />';
}else if(name=='company_sing_2'){
    document.getElementById('div1').innerHTML='Manager Name 2:<BR><input type="text" name="company_sign_name_2" /><BR>Manager Position 2:<BR><input type="text" name="company_sign_name_p_2" />';
}else if(name=='company_sing_3'){
    document.getElementById('div1').innerHTML='Manager Name 3:<BR><input type="text" name="company_sign_name_3" /><BR>Manager Position 3:<BR><input type="text" name="company_sign_name_p_3" />';
}
    else document.getElementById('div1').innerHTML='';
}
</script>

<?php
$newfilenamepath = "$filepath_d" . "$filename_d";
$company_name= ($_POST['company_name'])?$_POST['company_name']:'';
$upload_type= ($_POST['upload_type'])?$_POST['upload_type']:'';
  if ($upload_type = "company_sing_1") {
    $company_sign_name_1= ($_POST['company_sign_name_1'])?$_POST['company_sign_name_1']:'';
    $company_sign_name_p_1= ($_POST['company_sign_name_p_1'])?$_POST['company_sign_name_p_1']:'';
    mysql_query("update companies set  $upload_type='".$newfilenamepath."', company_sign_name_1='".$company_sign_name_1."', company_sign_name_p_1='".$company_sign_name_p_1."' where CO_ID='".$company_name."'");
  } elseif ($upload_type = "company_sing_2") {
    $company_sign_name_2= ($_POST['manager2'])?$_POST['manager2']:'';
    $company_sign_name_p_2= ($_POST['manager2_pos'])?$_POST['manager2_pos']:'';
    mysql_query("update companies set  $upload_type='".$newfilenamepath."', company_sign_name_2='".$company_sign_name_2."', company_sign_name_p_2='".$company_sign_name_p_2."' where CO_ID='".$company_name."'");
  } elseif ($upload_type = "company_sing_3") {
    $company_sign_name_3= ($_POST['manager3'])?$_POST['manager3']:'';
    $company_sign_name_p_3= ($_POST['manager3_pos'])?$_POST['manager3_pos']:'';
    mysql_query("update companies set  $upload_type='".$newfilenamepath."', company_sign_name_3='".$company_sign_name_3."', company_sign_name_p_3='".$company_sign_name_p_3."' where CO_ID='".$company_name."'");
  } else {
    mysql_query("update companies set  $upload_type='".$newfilenamepath."' where CO_ID='".$company_name."'"); 
  }
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">

<select name="company_name">
<option selected="selected" disabled="disabled">Please Select Name Of Company</option>
<?php
$company_lists = mysql_query("SELECT * FROM companies ORDER BY CO_ID DESC");
while ($row_com_list = mysql_fetch_array($company_lists)) {
    echo "<option value='" . $row_com_list['CO_ID'] . "'>" . $row_com_list['company_name'] . "</option>";
}
echo "</select>";
?>
</select><BR /><BR />

<input name="file" type="file" size="20" /><BR /><BR />

<select name="upload_type"  onchange="showfield(this.options[this.selectedIndex].value)">
<option selected="selected" disabled="disabled">Please Select Type Of Upload</option>
<option value="company_logo">Add A Logo</option>
<option value="company_logo_2">Add Second Logo</option>
<option value="company_logo_2">Add Third Logo</option>
<option value="company_sing_1">Add Sign For Manager 1</option>
<option value="company_sing_2">Add Sign For Manager 2</option>
<option value="company_sing_3">Add Sign For Manager 3</option>
</select><BR /><BR />
<div id="div1"></div></BR></BR>
<input name="submit" type="submit" value="Upload" />
</form>

问题出在哪里?我们能做些什么?

编辑:

当我填写表格并回显它时,如果我得到这个,就在第一个中断:

    echo $upload_type;
    echo "//////";
    echo $company_sign_name_1;
    echo "//////";
    echo $company_sign_name_p_1;
    echo "//////";
    echo $newfilenamepath;
    echo "//////";
    echo $company_name;
    break;

company_sing_1//////Abdulrahman Nahas//////////总经理///////上传/9-240920-0494829001411172658.png//////2

这意味着它采取了形式,但没有将值发送到mysql。我在第二个测试中测试了echo,否则它什么也没给我。

您的$upload_typecompany_sing_1等,而不是company_sign_1等。您的数据库中没有名为company_sing_1等的字段。修复命名,您就会解决问题。