Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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
Javascript 将字符串提交到数据库&;表单验证_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript 将字符串提交到数据库&;表单验证

Javascript 将字符串提交到数据库&;表单验证,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我有两个问题,但它们是相互关联的。首先,我试图使我的表单字段成为必填字段。我已经完成了这一点,但是当空白表单提交时,我的表单仍然调用我的PHP脚本。如果表单为空,如何使验证不调用php脚本 其次,我想将图像的url存储到我的数据库中。如何将预先确定的字符串提交到数据库中?我只完成了表格的数据库提交 下面是我的验证,并尝试将字符串发送到php脚本 function validateForm() { var x=document.forms["subform"]["school"].value; v

我有两个问题,但它们是相互关联的。首先,我试图使我的表单字段成为必填字段。我已经完成了这一点,但是当空白表单提交时,我的表单仍然调用我的PHP脚本。如果表单为空,如何使验证不调用php脚本

其次,我想将图像的url存储到我的数据库中。如何将预先确定的字符串提交到数据库中?我只完成了表格的数据库提交

下面是我的验证,并尝试将字符串发送到php脚本

function validateForm()
{
var x=document.forms["subform"]["school"].value;
var y=document.forms["subform"]["confession"].value;
if (x==null || x=="" || y==null || y=="")
  {
  alert("Please complete the form before submitting your confession.");
  return false;
  }
  if(x=="CWU"){
      $.post('test3.php', $("images/colleges/cwu.png").serialize(), function(data) {
                    $('#content').html(data);});
  }
}
下面是我试图提交到测试表中image列的php脚本

<?php
// Create connection
$con=mysqli_connect("localhost","root","","test");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$sql="INSERT INTO test (image)
VALUE
('$_POST[image]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "image added";

?>

如果要阻止表单在到达服务器之前在客户端提交,可以执行以下操作:

$('#myform').submit(function(e) {

    var input = $('#myform input').val();

    if(input == '') {
        //won't allow the form to submit
        e.preventDefault();
    } else {
       //do something
    }

});
$input = $_POST['val'];

if(!empty($input)) {
    //carry out the request
} else {
    echo "You did not fill out the form!"
}
如果您想使用PHP在服务器端实现它,可以执行以下操作:

$('#myform').submit(function(e) {

    var input = $('#myform input').val();

    if(input == '') {
        //won't allow the form to submit
        e.preventDefault();
    } else {
       //do something
    }

});
$input = $_POST['val'];

if(!empty($input)) {
    //carry out the request
} else {
    echo "You did not fill out the form!"
}

如果使用服务器端选项,那么最好在AJAX环境中实现它,这样用户在提交表单时甚至不会离开页面,然后会收到错误消息。这会稍微打乱流程。

快速提问。。。为什么不直接使用jQuery或jQuery的许多插件,使表单验证变得更加容易呢?对于图像,您需要首先上传图像,然后将url插入数据库。我建议您阅读一些关于图像上传的PHP教程。这个问题非常基本,可以通过快速的谷歌搜索来解决。