当前位置: 首页 > 知识库问答 >
问题:

超文本标记语言形式PHP问题

古文康
2023-03-14

我到处找,到处找。我已经看到了我将要发布的PHP代码中的许多问题,但没有看到任何与我所看到的特定问题相关的问题。

这是我的问题-两行($values/$required),其中我有“name”,“email”,“subject”,“message”

我想在上面加上“电话”。(即“姓名”、“电子邮件”、“电话”、“主题”、“信息”)

如果我把它添加到两行中的一行(不管是哪一行),我仍然可以提交表格,但是在我收到的电子邮件中,它没有给我那一行(电话)。

如果我将tel添加到两行($value/$必需),那么当我点击提交(填写所有行)时,我会得到一个“请填写所有必需的字段,标有*”。

有人能告诉我我错过了什么吗?

另外-‘subject’实际上是一个vin/body#但是如果我将html中的标签改为‘vin’而不是‘subject’,则会出现“请填写所有必填字段,标记为*”错误,因此我将其保留为‘subject’,即使这不是表单中该行项目的真正关联。

<?php

if(!$_POST) exit;

$email = $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
    $error.="Invalid email address entered";
    $errors=1;
}
if($errors==1) {
    echo $error;
} else {
    $values = array('name','email','subject','message',);
    $required = array('name','email','subject','message',);

    $your_email = "myemail@mydomain.com";
    $email_subject = "VIN / Body - ".$_POST['subject'];
    $email_content = "PART INQUIRY INFORMATION BELOW \n";

    foreach ($values as $key => $value) {
        if (in_array($value,$required)) {
            if ($key != 'subject' && $key != 'company') {
                if (empty($_POST[$value])) {
                    echo 'Please fill in all required fields, marked with *';
                    exit;
                }
            }
        }
        $email_content .= $value.': '.$_POST[$value]."\n";
    }

    if(@mail($your_email,$email_subject,$email_content)) {
        echo 'Message sent!';
    } else {
        echo 'ERROR!';
    }
}
?>

共有1个答案

颜镜
2023-03-14

最新答复:

好吧,有好消息也有坏消息。好消息是,我认为您的代码实际上运行正常。我认为您的表单实际上并没有在“tel”字段中发布。

我通过将$\u POST数组替换为以下内容进行了测试:

$_POST = array('name' => 'Joel', 'email' => 'joel.small@biscon.com.au', 'subject' => 'Guy','message' =>'Thingo','tel' => 'Some number');

然后我将“tel”添加到“values”数组中,您的代码按预期工作。

在处理数据并查看数组的结构之前,请print_r($_POST)。如果tel字段不存在,则表单不会提交它。

 类似资料:
  • 我有这个 我想从每个具有类“postrow”的div中提取以下内容,并且可能还有其他类,比如<code> < li >带有类标题的标记内的内容 < li >来自“blockquote”标记的HTML。但不包括该标签内的任何div。 我尝试的代码:

  • 我确信这对我来说是简单而愚蠢的,但是我的php代码一直显示在我的html页面中。 这只是一个简单的测试: 这就是它的样子: 我到底做错了什么?上面我混合了回声和打印来表明它似乎没有什么不同。

  • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加

  • 这困扰我太久了,我很感激你的帮助。我一直在为kable投入时间,但它并没有像我希望的那样对我产生效果。我希望创建多组行,如图所示 执行此操作的代码如下: 这显然不够好。如果我织成pdf,我可以得到正确的输出(第一张图片),但仅此而已。如果我尝试执行save_kable(),结果显示为HTML格式,如第二幅图像所示。每次都编织成pdf格式是如此不切实际,如果我不能解决这个问题,我就不能再使用kabl

  • 我正在尝试使用放心来检查服务器返回的HTML文档的一些属性。演示该问题的SSCCE如下所示: 现在,此尝试以,这是由所有可能的错误大约 30 秒左右后超时! 如果我用< code>xmlPathConfig()删除这一行。用()。功能(...)当特性“http://Apache . org/XML/features/disallow-DOCTYPE-decl”设置为true时,由于< code>D

  • 我正在工作的工具提示和从后端我将获得数据与html标记。我需要在工具提示中显示相应的标签中的相应数据。例如,我将从后端获得Hello用户单击此处。我必须显示为你好用户在h1格式,点击这里应该是一个锚。我尝试了这两个功能,并取代其不工作。 具有以下功能: 替换: https://codesandbox.io/s/serene-fast-u8fie?file=/App.svelte