【问题标题】:Link php code to a html page [closed]将php代码链接到html页面[关闭]
【发布时间】:2014-12-19 11:18:20
【问题描述】:

好的,所以我有一个输入表单登录页面保存为.php文件,其内容以html和css显示。 它会显示一些内容,然后是一个包含 2 个字段的登录表单:用户名、密码,然后是一个“登录”按钮。

我创建了一个单独的 .php 文件,如下所示:

<?php

$username = $_POST ['Username'];
$password = $_POST['Password'];

if ($username && $password)
 {

 $connect = mysql_connect("localhost", "root", "root") or die ("couldn't connect");

 mysql_select_db("sportsday") or die ("couldn't find db");

 }

 else 
 die("Please enter a username and password");

?>

我相信此代码现在已连接到我的其他页面 (http://jsfiddle.net/6yw8a2ue/) 它在浏览器中的字段旁边显示一些错误: “注意:未定义的索引:G:\xampp\htdocs\Sportsday\entryformlongon.php 中的用户名”...

一旦我输入用户名和密码,它就会进入空白页面并出现错误: “已弃用:mysql_connect():mysql 扩展已弃用,将来将被删除:在第 11 行的 G:\xampp\htdocs\Sportsday\login.php 中使用 mysqli 或 PDO 代替”

【问题讨论】:

  • This if ($username&amp;&amp;£$password) - 删除 £ - if ($username &amp;&amp; $password) 这是解析错误的来源。现在,“如何将这个 php 文件链接到另一个文件?” 是什么意思?
  • 好吧,我正在关注登录教程 (youtube.com/watch?v=y7ae_cZahPs),他们使用了两个单独的 php 文件,并且连接良好。但对我来说不是
  • @Fred-ii- 我需要截图中显示的代码用于我的登录页面
  • 那么,为什么不向我们展示您当时正在使用什么,或者那是您的整个代码?
  • 您已经完全改变了原始问题,因此您收到的几乎所有答案都不再相关(正如@Fred-ii- 指出的那样)。如果您有不同的问题,您需要提出一个新问题,而不是更新这个问题,使其无法识别最初询问的问题,即如何正确包含文件。

标签: php html css xampp


【解决方案1】:

请查看此文档。 http://php.net/manual/en/function.require-once.php

您可以在需要的任何页面中请求该文件。

【讨论】:

    【解决方案2】:

    将您的表单操作属性指向 php 文件。

    <form method="post" action="phpsubmit.php">
      form stuff
    </form>
    

    【讨论】:

      【解决方案3】:

      要求包含在页面顶部。 需要'文件名';

      http://www.w3schools.com/php/php_includes.asp

      【讨论】:

        【解决方案4】:
        header('Location: http://www.example.com/');
        exit;
        

        我假设通过链接到其他 php 文件,您的意思是完成后转发到另一个页面。

        【讨论】:

          【解决方案5】:

          有 4 个选项可将文件包含到主文档中。

          include
          include_once
          require
          require_once
          

          include docinclude_once docrequire docrequire_once doc

          其中的每一个都会将代码添加到您的主文件并执行基本相同的操作。 includerequire 将包含该文件的次数与调用代码行的次数一样多(如果您只需要调用一次,这可能会导致问题)。 include_oncerequire_once 只会将文件导入文档一次,无论该行代码是否被多次调用。

          includerequire 之间的一个很大区别在于您将得到的错误类型。如果找不到文件,include 将返回警告错误,但您的代码将继续执行(有错误)。 require 将产生一个致命错误,该错误会立即杀死程序。

          因此,如果您有 form.php 并希望将其包含在内,则每个选项看起来都像这样。

          include 'form.php';
          include_once 'form.php';
          require 'form.php';
          require_once 'form.php';
          

          根据您尝试包含的文档所在的位置,您需要首先获取正确的目录(即,如果您尝试从/path/file.php 包含/path/path/file.php) .与普通 HTML 不同,'/' 不会生成您的站点根目录。它会生成您的服务器根目录。

          因此,如果您有一个存在于 website.com/path/file.php 的文件,则不能只包含“/path/file.php”,因为这实际上会在服务器的根目录中查找该文件不会存在的。

          要解决这个问题,您需要使用$_SERVER['DOCUMENT_ROOT'],然后它会从服务器获取文档的根目录,可能类似于以下内容(取决于您的设置):

          /var/www/html/website.com

          因此,您不必弄清楚这一点,只需将文档根行添加到包含语句中

          include $_SERVER['DOCUMENT_ROOT'] . '/path/file.php';
          include_once $_SERVER['DOCUMENT_ROOT'] . '/path/file.php';
          require $_SERVER['DOCUMENT_ROOT'] . '/path/file.php';
          require_once $_SERVER['DOCUMENT_ROOT'] . '/path/file.php';
          

          【讨论】:

          • 我已经编辑了原始问题
          【解决方案6】:

          当字段为空或输入不匹配时,您可以重定向到其他页面。可以简单地做

           $username=$row["username"];
           $password=$row["password"];
           header("location:page_to_link.php?u=".$username);
           }
           else{
            header("location:page you want to redirect");
           }
          

          您必须在通过 session_start() 重定向(链接)它们的页面上启动会话。

          希望有帮助

          【讨论】:

          • 我已经编辑了原始问题,我正在寻找其他东西
          【解决方案7】:

          您忘记检查表单是否已提交 在代码的开头添加流:

          if(isset($_POST ['Username']) &amp;&amp; isset($_POST ['Password'])){

          当然,不要忘记在末尾放置一个右括号

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-07-13
            • 1970-01-01
            • 1970-01-01
            • 2013-05-21
            • 2022-01-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多