如何插入数据到 mysql 通过情态动词

发布时间: 2016/10/16 0:16:05
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我一直试图弄清楚如何触及提交后从modal向数据库插入数据。我现在的问题是它只不断刷新页面,但是没有什么正在添加请帮助。

这里是我modal的调用︰

  <button class="btn btn-default" data-toggle="modal" data-target="#loginModal">Login</button>

<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Login</h4>
            </div>

            <div class="modal-body">
            <?php include("new.php");?>


            </div>
        </div>
    </div>
</div>

这里是我的 new.php:

<?php
 function renderForm($user, $rank, $position, $error)
 {
?>
 <?php 
 if ($error != '')
 {
 echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
 }
 ?> 
<form action="" method="post">
  <div class="form-group">
    <label for="username">Username</label>
    <input id="username" class="form-control" type="text" name="user" placeholder="Username" value="<?php echo $user; ?>" />
  </div>
  <div class="form-group">
    <label for="rank">Rank</label>
     <select class="form-control" name="rank">
 <option value="recruit">recruit</option>
 <option value="officer">officer</option>
 <option value="leader">leader</option>

</select>
  </div>
  <div class="form-group">
    <label for="position">Position</label>
    <input id="position" class="form-control" type="text" name="position" placeholder="Leader" value="<?php echo $position; ?>" />
  </div>
    <div class="form-group">
    <label for="Date">Date</label>
    <input id="Date" class="form-control" type="text" name="date" placeholder="<?php echo date('d M y'); ?>" value="<?php echo $date; ?>" />
  </div>
    <div class="form-group">
    <label for="Tag">Tag</label>
    <input id="Tag" class="form-control" type="text" name="tag" value="<?php echo $tag; ?>" />
  </div>
    <div class="form-group">
    <label for="AiT">AiT</label>
    <input id="AiT" class="form-control" type="text" name="ait" value="<?php echo $ait; ?>" />
  </div>
    <div class="form-group">
    <label for="ServiceStripes">Service Stripes</label>
    <input id="ServiceStripes" class="form-control" type="text" name="ss" value="<?php echo $ss; ?>" />
  </div>
    <div class="form-group">
    <label for="Notes">Notes</label>
    <input id="Notes" class="form-control" type="text" name="notes" placeholder="Notes" value="<?php echo $notes; ?>" />
  </div>
  <button type="submit" class="btn btn-default" value="Submit">Submit</button>
</form>
<?php 
}

 include('classes/connect-db.php');

 if (isset($_POST['submit']))
 { 

 $user = mysql_real_escape_string(htmlspecialchars($_POST['user']));
 $rank = mysql_real_escape_string(htmlspecialchars($_POST['rank']));
 $position = mysql_real_escape_string(htmlspecialchars($_POST['position']));
 $date = mysql_real_escape_string(htmlspecialchars($_POST['date']));
 $tag = mysql_real_escape_string(htmlspecialchars($_POST['tag']));
 $ait = mysql_real_escape_string(htmlspecialchars($_POST['ait']));
 $ss = mysql_real_escape_string(htmlspecialchars($_POST['ss']));
 $notes = mysql_real_escape_string(htmlspecialchars($_POST['notes']));

 if ($user == '' || $rank == '' || $date == '' || $tag == '')
 {
 $error = '<center>ERROR: Please fill in all required fields!</center>';

 @renderForm($user, $rank, $position, $error);
 }
 else
 {
 mysql_query("INSERT players SET user='$user', rank='$rank', position='$position', date='$date', tag='$tag', ait='$ait', ss='$ss', notes='$notes'")
 or die(mysql_error()); 

 }
 }
 else

 {
 @renderForm('','','');
 }?>

这就像断骨的这个项目。一直致力于这一段时间现在和我想移动走至子窗口和情态动词,但我找不出怎么办呢。

解决方法 1:

为什么它不工作的原因是因为你条件语句︰

if (isset($_POST['submit'])){...}

在您的代码,我怀疑应该用于与您的提交按钮一起还有没有名为"提交"的元素︰

<button type="submit" class="btn btn-default" value="Submit">Submit</button>

修改它︰

<button type="submit" name="submit" class="btn btn-default" value="Submit">Submit</button>

有错误报告,会暗示"未定义的索引"通知。

您将帮助发现错误的文件的顶部添加错误报告

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注︰错误报告只应该是分期,和从来没有生产。


脚注︰

请考虑移到一个更安全的 MySQL API:

使用 mysqli 与预准备语句,或与预准备语句的 PDO他们将会更加安全

官方微信
官方QQ群
31647020