Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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提交未将提交帖子发送到php文件_Javascript_Php_Html_Forms_Post - Fatal编程技术网

Javascript提交未将提交帖子发送到php文件

Javascript提交未将提交帖子发送到php文件,javascript,php,html,forms,post,Javascript,Php,Html,Forms,Post,我试图创建一个没有真正提交按钮的表单,但是使用了样式化的a href和javascript,但是我无法发布表单本身 如果我做var\u转储($\u POST)然后我得到一个包含4项的数组(3个输入和1个文本区域)。表单本身不存在,因此if(isset($\u POST['submit'])的值为false。我还尝试了if(isset($\u POST['ContactForm']),但它也不起作用 表格代码: <form name='ContactForm' id='ContactForm

我试图创建一个没有真正提交按钮的表单,但是使用了样式化的a href和javascript,但是我无法发布表单本身

如果我做
var\u转储($\u POST)然后我得到一个包含4项的数组(3个输入和1个文本区域)。表单本身不存在,因此
if(isset($\u POST['submit'])
的值为false。我还尝试了
if(isset($\u POST['ContactForm'])
,但它也不起作用

表格代码:

<form name='ContactForm' id='ContactForm' action='verzendvraag.php' method='POST'>
    <input type="text" class="col-md-6 col-xs-12 name" id="naam" name='naam' placeholder='Naam *' value="<? echo $_SESSION['naam']; ?>" required/>
    <input type="email" class="col-md-6 col-xs-12 Email" id="email" name='email' placeholder='Email *' value="<? echo $_SESSION['email']; ?>" required/>
    <input type="text" class="col-md-12 col-xs-12 Subject" name='Subject' id='Subject' placeholder='Onderwerp'/>
    <textarea type="text" class="col-md-12 col-xs-12 Message" id="vraag" name="vraag" placeholder='Bericht *' style="left: 0px; top: 0px" required><? echo $_SESSION['vraag']; ?></textarea>
    <div class="cBtn col-xs-12">
        <ul>                                
            <li class="clear"><a href="#" onclick="resetForm(event)"><i class="fa fa-times"></i>ledig vakjes</a></li>
            <li class="send"><a href="#" onclick="submitForm(event)"><i class="fa fa-share"></i>Verstuur bericht</a></li>
        </ul>
    </div>
</form>
function submitForm(e) {
    if (validateForm())
    {
        document.getElementById("ContactForm").submit();
    }
    e.preventDefault();
}
session_start();    
//Validatie serverside => bescherming inbouwen voor als iemand zijn javascript uitschakelt. Javascript echter wel nodig om de server en netwerktraffic te ontlasten. 
if (isset($_POST['submit']))
{ 
    $naam  = $_POST['naam'];
    //$bedrijf = $_POST['bedrijf'];
    $subject = $_POST['Subject'];
    $email = $_POST['email'];
    $vraag = $_POST['vraag'];

    //In session steken zodat we bij een eventuele terugkeer naar de form de reeds ingevulde gegevens kunnen terug zetten.
    $_SESSION['naam']  = $_POST['naam'];
    //$_SESSION['bedrijf'] = $_POST['bedrijf'];
    $_SESSION['Subject'] = $_POST['Subject'];
    $_SESSION['email'] = $_POST['email'];
    $_SESSION['vraag'] = $_POST['vraag'];

    $isOK = true;
    $error = '0';

    $atpos = strrpos($email,"@");
    $dotpos = strrpos($email,".");

    if(is_null($naam) || $naam == '')
    {
        $isOK = false;
        echo('NAAM NIET OK ');
        $error .= ',1';
    }

    if(is_null($email) || $email == '')
    {
        $isOK = false;
        echo('EMAIL NIET OK '.$email);
        $error .= ',2';
    }
    else
    {
        //checken geldig e-mailadres
        if ($atpos === false || $dotpos === false || $dotpos < $atpos+2 || $dotpos+2 >= strlen($email))  //=== moet => http://php.net/manual/en/function.strpos.php en http://www.php.net/manual/en/language.operators.comparison.php
        {
            $isOK = false;
            echo("Ongeldig e-mailadres ");
            $error .= ',3';
        }
    }

    if(is_null($vraag) || $vraag== '')
    {
        $isOK = false;
        echo('VRAAG NIET OK ');
        $error .= ',4';
    }
}

if(!($isOK))
{
    echo("<script>location.href='index.php?error=$error'</script>");
    exit;
}
else
{
.....
}
php:

<form name='ContactForm' id='ContactForm' action='verzendvraag.php' method='POST'>
    <input type="text" class="col-md-6 col-xs-12 name" id="naam" name='naam' placeholder='Naam *' value="<? echo $_SESSION['naam']; ?>" required/>
    <input type="email" class="col-md-6 col-xs-12 Email" id="email" name='email' placeholder='Email *' value="<? echo $_SESSION['email']; ?>" required/>
    <input type="text" class="col-md-12 col-xs-12 Subject" name='Subject' id='Subject' placeholder='Onderwerp'/>
    <textarea type="text" class="col-md-12 col-xs-12 Message" id="vraag" name="vraag" placeholder='Bericht *' style="left: 0px; top: 0px" required><? echo $_SESSION['vraag']; ?></textarea>
    <div class="cBtn col-xs-12">
        <ul>                                
            <li class="clear"><a href="#" onclick="resetForm(event)"><i class="fa fa-times"></i>ledig vakjes</a></li>
            <li class="send"><a href="#" onclick="submitForm(event)"><i class="fa fa-share"></i>Verstuur bericht</a></li>
        </ul>
    </div>
</form>
function submitForm(e) {
    if (validateForm())
    {
        document.getElementById("ContactForm").submit();
    }
    e.preventDefault();
}
session_start();    
//Validatie serverside => bescherming inbouwen voor als iemand zijn javascript uitschakelt. Javascript echter wel nodig om de server en netwerktraffic te ontlasten. 
if (isset($_POST['submit']))
{ 
    $naam  = $_POST['naam'];
    //$bedrijf = $_POST['bedrijf'];
    $subject = $_POST['Subject'];
    $email = $_POST['email'];
    $vraag = $_POST['vraag'];

    //In session steken zodat we bij een eventuele terugkeer naar de form de reeds ingevulde gegevens kunnen terug zetten.
    $_SESSION['naam']  = $_POST['naam'];
    //$_SESSION['bedrijf'] = $_POST['bedrijf'];
    $_SESSION['Subject'] = $_POST['Subject'];
    $_SESSION['email'] = $_POST['email'];
    $_SESSION['vraag'] = $_POST['vraag'];

    $isOK = true;
    $error = '0';

    $atpos = strrpos($email,"@");
    $dotpos = strrpos($email,".");

    if(is_null($naam) || $naam == '')
    {
        $isOK = false;
        echo('NAAM NIET OK ');
        $error .= ',1';
    }

    if(is_null($email) || $email == '')
    {
        $isOK = false;
        echo('EMAIL NIET OK '.$email);
        $error .= ',2';
    }
    else
    {
        //checken geldig e-mailadres
        if ($atpos === false || $dotpos === false || $dotpos < $atpos+2 || $dotpos+2 >= strlen($email))  //=== moet => http://php.net/manual/en/function.strpos.php en http://www.php.net/manual/en/language.operators.comparison.php
        {
            $isOK = false;
            echo("Ongeldig e-mailadres ");
            $error .= ',3';
        }
    }

    if(is_null($vraag) || $vraag== '')
    {
        $isOK = false;
        echo('VRAAG NIET OK ');
        $error .= ',4';
    }
}

if(!($isOK))
{
    echo("<script>location.href='index.php?error=$error'</script>");
    exit;
}
else
{
.....
}
session_start();
//Validatie serverside=>bescherming inbouwen voor als IED和zijn javascript uitschakelt。Javascript将在网络流量上与服务器连接。
如果(isset($_POST['submit']))
{ 
$naam=$_POST['naam'];
//$bedrijf=$_POST['bedrijf'];
$subject=$_POST['subject'];
$email=$_POST['email'];
$vraag=$_POST['vraag'];
//在steken zodat会议中,我们将讨论芦苇形式的变化。
$_SESSION['naam']=$_POST['naam'];
//$_SESSION['bedrijf']=$_POST['bedrijf'];
$_SESSION['Subject']=$_POST['Subject'];
$_SESSION['email']=$_POST['email'];
$_SESSION['vraag']=$_POST['vraag'];
$isOK=真;
$error='0';
$atpos=strrpos($email,“@”);
$dotpos=strrpos($email,“.”);
如果(为空($naam)|$naam=='')
{
$isOK=假;
echo(“NAAM NIET OK”);
$error.=',1';
}
如果(为空($email)| |$email==“”)
{
$isOK=假;
echo('EMAIL NIET OK'$EMAIL);
$error.=',2';
}
其他的
{
//检查geldig电子邮件地址
如果($atpos==false | |$dotpos===false | |$dotpos<$atpos+2 | |$dotpos+2>=strlen($email))/==moet=>http://php.net/manual/en/function.strpos.php ENhttp://www.php.net/manual/en/language.operators.comparison.php
{
$isOK=假;
echo(“Ongeldig电子邮件地址”);
$error.=',3';
}
}
如果(为空($vraag)|$vraag==“”)
{
$isOK=假;
echo(“VRAAG NIET OK”);
$error.=',4';
}
}
如果(!($isOK))
{
echo(“location.href='index.php?error=$error'”;
出口
}
其他的
{
.....
}

我检查了一下,他说他的代码可以工作,所以我不明白我的代码不会工作。

您还应该将if(isset($\u POST['submit'])更改为if(isset($\u POST['naam'])

像这样使用ajax请求

$.ajax({//create an ajax request to load_page.php
        type: "POST",
        url: "receive.php",
        data: $("#ContactForm").serialize(),
        success: function(response) {
            if (response) {
                alert('Successfully posted.');
            }
            else {
                alert('Successfully not posted.');
            }
        }
    });
只需使用ajax提交表单


无标题文件
函数提交形式(e){ 警报(“工作”); var naam=$(“#naam”).val(); var email=$(“#email”).val(); var Subject=$(“#Subject”).val(); $.ajax({//创建一个ajax请求以加载\u page.php 类型:“POST”, url:“verzendvraag.php”, 数据:{“naam”:naam,“email”:email,“Subject”:Subject}, 成功:功能(响应){ 如果(答复){ 警报(响应); 警报('已成功发布'); } 否则{ 警报('未成功发布'); } } }); }
verzendvraag.php


因为您没有任何名为submit的按钮或输入,所以它不存在于$\u POST变量中。我认为你应该检查一下你在表格中的内容,以便使用

if (isset($_POST['naam'])){
// your code 
}  
而不是

if (isset($_POST['submit'])){
// your code 
}

“没有一个真正的提交按钮,但是有一个样式化的a href和javascript”-不要这样做。改为设置提交按钮的样式。您没有名为“提交”的命名元素。因此,根据您为它设置的条件,是它失败的原因,或者最多是一个原因。“我检查了Javascript Submit没有向php文件发送POST,他说他的代码有效,所以我不理解我的代码无效。”-他有他的条件
if(isset($\u POST['form'])
基于他的表单id
我已经尝试了
if(isset($\u POST['ContactForm'])
@Fred-ii-我会检查姓名和电子邮件,谢谢你的帮助!我认为AJAX不会解决我的问题,如果它不知道
$\u POST['submit']
$\u POST['ContactForm']
现在,它也不会知道AJAX。所以改为“if(isset($\u POST['submit']))”使用“if(isset($\u POST))”请现在再试!!!在index.php中编写我的第一个代码,在第二个代码中,创建verzendvraag.php并粘贴该代码。这是可能的,但我能确定用户确实提交了吗?如果用户提交,那么您使用Ajax提交表单