Rob*_*Rob 1 html php xml simplexml
这是我的代码
<form method="post">
<input name="hash" type="text" id="hash" style='width: 30%;'/>
<input name="Crack!" type="submit" value="Crack!" onfocus="if(this.blur)this.blur()"/>
</form>
<?php
if(isset($_POST['Crack!'])){
$hash = $_POST['hash'];
$xml = simplexml_load_file("http://gdataonline.com/qkhash.php?mode=xml&hash=$hash");
$status = $xml->data->status;
if ($status = "Success"){
$plain = $xml->data->result;
}elseif ($status = "Hash not found"){
$plain = "Not Found"; }
?>
<table>
<tr>
<td><?php echo "gdataonline.com: "; ?></td>
<td><?php echo "$plain"; ?></td>
</tr>
</table>
<?php
echo "<pre>";
var_dump($xml);
echo "</pre>";
} //if submit
?>
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我根本无法回应$ plain.它似乎甚至无法读取它.
Rob,如果你想让人们甚至理解你的问题,你必须付出努力,而不是只发布大量不相关的代码并问"为什么这不起作用?"
所以我完成了你的作业,我弄清楚了脚本在做什么,并获取了一个示例XML文档.事实证明,你的层次结构错了.此外,这是不相关的,但您使用赋值运算符而不是比较运算符.换句话说,你的ifs不会测试任何东西,第一个只是设置$status为"成功".
相关部分应该是这样的:
$data = simplexml_load_file("http://gdataonline.com/qkhash.php?mode=xml&hash=$hash");
switch ($data->status)
{
case 'Success':
$plain = $data->result;
break;
case 'Hash not found':
$plain = "Not Found";
break;
}
Run Code Online (Sandbox Code Playgroud)