通过id查找html元素并用php替换其内容

时间:2016-04-07 09:57:26

标签: php html

我有一个提交按钮的HTML。 提交将您发送到php。

php代码有这个:

header("location:./setupOk.html");
$html = file_get_html('setupOk.html');
$ret = $html->find('div[id=valueOk]');
echo $ret[0]->innertext = "foo"; 

这是我的一些html setupOk.html代码:

<form action="http://54.186.92.18/Pixel-Matrix/keys.php" method="post">
<div class="logo">
        <link rel="stylesheet" type="text/css" href="styles.css">
        <label id="logo"</label>
        <!--<label for="name">Type:</label>-->
    </div>
    <div class="right">
        <h1>Enter License Information</h1>
        <div id="valueOk">
            <input type="text" id="valOk" name="Key" readonly="readonly" />
        </div>
    </div>
    <div class="button">
            <button id="validateB" type="submit">Validate Now ></button>
    </div>

</form>

在第一个html上执行按钮后,它转到php并使用setupOk重新加载我的html网站,但没有任何文本进入任何地方。任何解决方案?

编辑: 我的目标是从php获得一般html(带标签和图像),将文本放到该html并自动在用户的浏览器上加载这个html

EDIT2: 我的第一个HTML不是第二个HTML。第一个发表对PHP的请求,然后依赖于PHP的信息,PHP将填写第二个HTML文本并在用户浏览器上加载最后一个HTML

1 个答案:

答案 0 :(得分:0)

避免DOMParser并加载/重定向到HTML页面 - 您可以采用更简单的方式(它必须是PHP文件) :

<?php
    $innerText = "";

    if (!empty($_POST['Key'])) {
       $innerText = "foo";
    }

?>

<div class="logo">
        <link rel="stylesheet" type="text/css" href="styles.css">
        <label id="logo"</label>
        <!--<label for="name">Type:</label>-->
    </div>
    <div class="right">
        <h1>Enter License Information</h1>
        <div id="valueOk">
            <input type="text" id="valOk" name="Key" readonly="readonly" value="<?php echo $innerText;?>"/>
        </div>
    </div>
    <div class="button">
            <button id="validateB" type="submit">Validate Now ></button>
    </div>

如果您认为这是您想要的 - 请详细说明您的需求。

更新

<强> setupOk.php

<form action="http://54.186.92.18/Pixel-Matrix/keys.php" method="post">
<div class="logo">
        <link rel="stylesheet" type="text/css" href="styles.css">
        <label id="logo"</label>
        <!--<label for="name">Type:</label>-->
    </div>
    <div class="right">
        <h1>Enter License Information</h1>
        <div id="valueOk">
            <input type="text" id="valOk" name="Key" readonly="readonly" />
        </div>
    </div>
    <div class="button">
            <button id="validateB" type="submit">Validate Now ></button>
    </div>

</form>

keys.php [您提交表单的地方]

require_once('simple_html_dom.php');

$processedResult = "";
if (!empty($_POST['Key'])) {
    $processedResult = "foo";
}

$html = file_get_html('setupOk.php');
$html->find('input[id=valOk]', 0)->value = $processedResult;

echo $html;

我已经测试了它并且它正在工作。