Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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 如果选项选择true,则将其发布,否则显示错误PHP_Javascript_Php_Forms - Fatal编程技术网

Javascript 如果选项选择true,则将其发布,否则显示错误PHP

Javascript 如果选项选择true,则将其发布,否则显示错误PHP,javascript,php,forms,Javascript,Php,Forms,很抱歉,伙计们问这个问题,但我找不到我要找的东西。。。嗯,找不到我要找的东西。。。嗯,我有这张联系表。我已经建立了它,所以它会发送任何形式上的我的电子邮件。但我只知道如何处理简单的表单,它只能处理字符串。现在我需要添加一个选项列表,当有人选择该选项时,它会将该值通过电子邮件发送给我。代码如下: PHP代码 <?php $main_email = "samplemail@mail.com"; $c_acc = htmlspecialchars ($_POST["account"]); -

很抱歉,伙计们问这个问题,但我找不到我要找的东西。。。嗯,找不到我要找的东西。。。嗯,我有这张联系表。我已经建立了它,所以它会发送任何形式上的我的电子邮件。但我只知道如何处理简单的表单,它只能处理字符串。现在我需要添加一个选项列表,当有人选择该选项时,它会将该值通过电子邮件发送给我。代码如下:

PHP代码

<?php
$main_email = "samplemail@mail.com";

$c_acc = htmlspecialchars ($_POST["account"]);  ----> Gets string from form
$c_location = htmlspecialchars($_POST["location"]);   ----> Gets string from form
$c_server = htmlspecialchars($_POST["server"]);  ----> This is supposed to be the options form

$error = 0;

if(strlen($c_acc) < 1){  ----> If string length is less than 1, it will give me the error
    $error++;
}

if(strlen($c_location) < 1){  ----> If string length is less than 1, it will give me the error
    $error++;
}


if(strlen($c_server) < 1){ ----> I tried doing with string, but it is supposed to check if the option was selected, and give me the error if no option was selecet
    $error++;
}
这是我在html页面上使用的表单:

<form class="contactform" action="sendmail.php" method="post">
    <p class="form_info">Account<span class="needed">*</span></p>
    <input id="c_acc" type="text" name="account" />

    <p class="form_info">Location <span class="needed">*</span></p>
    <input id="c_location" type="text" name="password" />

    <p class="form_info">Server <span class="needed">*</span></p>
    <select id="c_server" name="server">
        <option value="NNY">NNY</option>
        <option value="SNY">SNY</option>
        <option value="NJ">NJ</option>
        <option value="CA">CA</option>
        <option value="TX">TX</option>
    </select>
最后。这是JS文件

function validate_contactform(){

    $('.contactform').append('<div id="c_loader"></div>');
    $('#c_submit').hide();

    var c_acc = $('#c_acc'), c_location = $('#c_location'), c_server = $('#c_server'),

    var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    var error_exist = 0;

    if(c_acc.val().length < 1){
        c_acc.addClass('error');
        error_exist++;
    }else{
        c_acc.removeClass('error');
    }   

    if(c_location.val().length < 1){
        c_location.addClass('error');
        error_exist++;
    }else{
        c_location.removeClass('error');
    }

    if(c_server.val().length < 1){
        c_server.addClass('error');
        error_exist++;
    }else{
        c_server.removeClass('error');
    }

    if(error_exist > 0){
        $('#c_loader').remove();
        $('#c_submit').show();

    }else{
        var dataString = 'acc='+ c_acc.val() + 'location='+ c_location.val() + 'server='+ c_server.val();

        $.ajax({
            type: "POST",
            url: "sendmail.php",
            data: dataString,
            success: function(response) {
                if(response == "sent"){
                    $('#c_loader').remove();
                    $('.contactform').prepend('<div class="noti_success">Message has been sent successfull! We will get in contact with you shortly</div>');
                }else{
                    $('#c_loader').remove();
                    $('#c_submit').show();
                    $('.contactform').prepend('<div class="noti_error">There was an error while sending your message</div>');
                }

好的,再一次为这么长的帖子感到抱歉。。。我不知道要更改或添加什么,因此它将发送选项的值。。。如您所见,表单只能发送字符串。。。比如,只有表格上的内容。。。未选择。。。请帮忙,我现在不知道该怎么办…

读取参数时不要使用htmlspecialchars。只有在HTML页面中显示数据时才应使用它。所有服务器值的长度都是2或3,因此c_server.val.length<4始终为真。你想检查什么?我想让用户检查其中一个服务器和要发送到电子邮件的服务器值以及其他选项。。。我只是对选择表格有点问题。如果我只保留字符串,它工作得很好,只要我添加选项,它就什么都不做,我知道你想要什么。当所有有效长度都小于4时,为什么将长度<4视为错误?alreayd将其更改为长度<1,但仍然没有结果。。。它被错误地设置为4