从表单调用php文件

时间:2014-12-10 09:51:46

标签: php html forms

我有一个HTML表单,我需要在按下提交时调用php脚本,但无法确定脚本未执行的原因。

<form action="update.php" method="POST">    

<input name="id"  type="hidden" value="id"/>
<input name="subArea"       type="text"     placeholder="Sub Area (optional)"/>     
<label><textarea name="description" rows="2" cols="80" placeholder="Description" ></textarea></label>   
<label><input type="radio" name="markNA[]" value ="markNA"/> N/A? </label>

<input class = "btn-testname" type="submit" value="Change" name="update"/> 
</form >

按下按钮时我不需要重新加载页面(所以想避免使用Ajax)我的理解是上面的方法会执行脚本吗?

update.php

<?php
include ("databaseLogin.php");

// Create connection to Database
$con = mysqli_connect('localhost',$dbuser,$dbpass,$dbname);

if (!$con) 
{
    die('Could not connect: ' . mysqli_error($con));
}

// Sql Query
$sql = "INSERT INTO `table_tests` (`active`, `description`) 
        VALUES (1, 'newstuff')";

mysqli_query($con, $sql);
?>

编辑1:我排除了POST vars的引入只是为了简化php代码(并将它们硬编码到sql查询中)

如果我只是错过了一个愚蠢的语法错误,我道歉。

2 个答案:

答案 0 :(得分:0)

你必须重新加载页面或至少转到另一个页面,PHP是一种服务器端语言,所以它不能进行实时更改。如果你想这样做,你必须使用javascript。

但是您现在使用的方式可以在update.php

中从此页面获取变量
$description = $_POST["description"];

如果您在update.php上有该代码,说明文本框中填写的文字将保存为变量$description,以便您可以验证表单,例如

======================

修改

获取例如文本框&#39;描述&#39;的值。你可以使用:

document.getElementById("searchTxt").value;

因此,如果您想点击按钮,请执行以下操作:

<script type="text/javascript">
    function check () {
        document.getElementById("description").value;
    }
</script>
<button onclick="check()"></button>

在这里,您获得ID="description"字段的值 有些方法可以通过名称获得它,但我总是使用ID

 document.getElementsByName('description')[0].value

上面的代码为您提供了名称描述

的第一个元素

答案 1 :(得分:0)

**Try this**


<form action="update.php" method="POST">    

    <input name="id"  type="hidden" value="id"/>
    <input name="subArea"       type="text"     placeholder="Sub Area (optional)"/>     
    <label><textarea name="description" rows="2" cols="80" placeholder="Description" ></textarea></label>   
    <label><input type="radio" name="markNA" value ="markNA"/> N/A? </label>

    <input class = "btn-testname" type="submit" value="Change" name="update"/> 
    </form >


    <?php
    include ("databaseLogin.php");

    // Create connection to Database
    $con = mysqli_connect('localhost',$dbuser,$dbpass,$dbname);

    if (!$con) 
    {
        die('Could not connect: ' . mysqli_error($con));
    }
    $description = $_POST['description'];
    $active= $_POST['markNA'];
$id= $_POST['id'];
    // Sql Query
    $sql = "INSERT INTO `table_tests` (`active`, `description`,`id`) 
            VALUES ('$active', '$description','$id')";

    mysqli_query($con, $sql);
    ?>