0

我是 iPhone 应用程序的新手。我已按照本教程从 iPhone 登录。

我有如下的php文件。


代码


索引.php

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        $user = $_POST['uname'];

        if ($user == 'user') {
            echo "Welcome to my site...";
        } else {
            echo "Invalid User";
        }
        ?>
    </body>
</html>

当我运行应用程序并输入用户名作为用户名和密码作为一些文本时,我在 iPhone 中得到如下输出


输出

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
            Welcome to my site...
    </body>
</html>

我期待的输出只是文本Welcome to my site...,但是我得到了完整的 HTML 代码。

知道为什么我会这样吗?我需要在 PHP 文件中进行哪些更改?

4

3 回答 3

2

根据 iphone 应用程序开发教程,他们使用标准 sdk 来创建按钮和文本框,它不是 html,如果您想在 iphone 中使用 html 创建登录表单,请使用 webView,因为您正在打印完整的 html 代码,它显示了您的仅,仅将以下代码放入您的 index.php 文件中

<?php
  $user = $_POST['uname'];
  if ($user == 'user') {
       echo "Welcome to my site...";
  } else {
      echo "Invalid User";
  }
?>
于 2012-12-25T11:46:44.297 回答
0

您的 php 服务器按原样打印任何内容,只要它不在 php 块中

<?php
  //this is interpreted php code 
?>

所以它会打印出文件中的所有 html,直到它到达一个 php 代码块。它解释 php 块中的内容,并在文件的该位置插入您回显的内容。当 php 块结束时,它只会再次吐出后面的所有内容-在您的情况下为 html 。

如果您只想要简单的文本输出,则必须省略 HTML(这不是使 php 工作所必需的)。

另一方面,如果您也需要 HTML 来通过 Web 浏览器访问该站点,则最好将评估 php 放在一个单独的 php 文件中,并将您的 iPhone 应用程序指向这个 php 文件。在您的 HTML 文件中,您通过 php require 函数包含此文件。

于 2012-12-25T11:50:32.403 回答
0

您的 php 脚本将输出您在文件中写入的所有文本。

在 PHP 标记之前和之后,您编写了一个 HTML Header,Body。尝试删除这个:

    <?php
    $user = $_POST['uname'];

    if ($user == 'user') {
        echo "Welcome to my site...";
    } else {
        echo "Invalid User";
    }
    ?>

但是,如果您尝试登录用户,然后稍后与服务器交互,而不总是传递用户,然后像您一样将用户名发送到服务器,创建一个会话,保存用户并将唯一的会话 ID 传递回苹果手机。然后当你下次连接到 API 时,你已经知道了用户,如果他登录了,你不必重新验证。

于 2012-12-25T11:56:36.287 回答