manifest.json文件中的多个URL

时间:2019-11-19 12:48:27

标签: google-chrome-extension manifest.json

我正在尝试构建Chrome插件。在主文件夹中,我有一个popup.html,它默认运行并在manifest.json中使用以下语法

"browser_action": {
   "default_icon": "icon.png",
   "default_popup": "popup.html"
  },

popup.html绝对正常

我的popup.html在做什么?

它是从用户输入电子邮件并将其存储在本地phpmyadmin中。 以下是 popup.html

的代码
<!doctype html>
<html style="min-width:350px;">
  <head>
    <title>Welcome</title>   
  </head>
  <body>
<h3> Enter email </h3>

<form action=”info.php” method=”post”>
Enter email: <input type=”email” name=”email” />
<input type="submit" value="Submit" >
</form>

  </body>
</html>

form操作链接到info.php,其中php连接数据库并将数据插入phpMyAdmin中的表中。 以下是 info.php代码

<html>

<body>

<?php 
$con = mysql_connect('127.0.0.1','root','');
if (!$con)
{
    echo'Could not connect to the server';
}
if (!mysqli_select_db($con,'test'))
{
    echo 'Database Not Selected';
}
$Email = $_POST[email];

$sql = "INSERT INTO test_table(Email) VALUES ('$Email')";
if(!mysqli_query($con,$sql))
{
    echo 'Could not add to database';
}

else
{
    echo 'Thank you the data is added';
}

header("refresh:2; url=popup.html");
?>
</body>

</html>

我要面对什么问题? 在输入字段中输入电子邮件后,出现错误消息:未找到您的文件。该文件可能已被移动或删除。 ERR_FILE_NOT_FOUND

也许我收到此错误,因为必须在清单文件中添加info.php?如果这是问题所在,那么如何在manifest.json文件中添加多个URL?

2 个答案:

答案 0 :(得分:0)

您的标头将不起作用,因为您已经回显了输出。

将输出粘贴到$ html变量中,而不是立即输出。

这可能无法完全解决您的问题吗?但这会修复标题。

<?php 

$html = '';

$con = mysql_connect('127.0.0.1','root','');
if (!$con)
{
    $html .= 'Could not connect to the server';
}
if (!mysqli_select_db($con,'test'))
{
    $html .= 'Database Not Selected';
}
$Email = $_POST[email];

$sql = "INSERT INTO test_table(Email) VALUES ('$Email')";
if(!mysqli_query($con,$sql))
{
    $html .= 'Could not add to database';
}

if (empty($html)) {
    header("refresh:2; url=popup.html");
} 

echo $html;

答案 1 :(得分:0)

使用@wOxxOm帮助解决了问题。 在 popup.html 中,它直接通过了服务器,例如http://localhost/foldername/info.php

,而不是直接提供info.html。