Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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
使用PHP更改HTML元素_Php_Html_Ajax_Dom - Fatal编程技术网

使用PHP更改HTML元素

使用PHP更改HTML元素,php,html,ajax,dom,Php,Html,Ajax,Dom,我有一个简单的HTML页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <p id="demo">Nothing here</p> <button onclick="?">B

我有一个简单的HTML页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <p id="demo">Nothing here</p>
    <button onclick="?">Button</button>       
</body>
</html>

文件

这里什么都没有

按钮
和一个单独的PHP文件:

<?php 

// Load and exec craigslist
$site = curl_init("https://www.craigslist.org/about/sites");
curl_setopt($site, CURLOPT_RETURNTRANSFER, true);
$target = curl_exec($site);

$dom = new DOMDocument();
@$dom -> loadHTML($target);

// Save logo text 
$title = $dom -> getElementById('logo') -> nodeValue;

?>

以下是我想做的:


当我单击HTML页面上的按钮时,我希望PHP脚本能够运行,这样我就可以获取craigslist标题并将其存储为PHP变量(
$title
)。我想替换
中的文本,将您的html更改为

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <p id="demo">Nothing here</p>
    <button onclick="myFunc()">Button</button>       
    <script>
    function myFunc() {
        var xmlhttp=new XMLHttpRequest();
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                document.getElementById("demo").innerHTML=xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","file.php",true); //Change file.php to the location of your php file
        xmlhttp.send();
    }
    </script>
</body>
</html>

当然,最好的情况是使用jQuery的内置AJAX,但这已经足够好了。你到底想做什么?我也不清楚你想做什么,但总的来说,我认为你可能想用Javascript来做,而不是PHPI一直在跟踪你,直到你说“点击一个按钮”。PHP在服务器上运行,它不会对点击做出反应。PHP是一种服务器端语言,因此不能使用PHP根据按钮点击修改页面上的任何内容。但是,您可以使用AJAX,使用JS调用PHP生成的内容,并用fetch内容替换

。将html文件另存为PHP文件并将代码添加到其中。
echo $title;