【问题标题】:What am I doing wrong $_GET我在做什么错 $_GET
【发布时间】:2015-06-17 18:36:52
【问题描述】:

我正在尝试从 URL 中获取值,但它不起作用。代码如下:

<?php
if (isset($_GET['pag'])) {
    $sel_continut = $_GET['pag'];
} else {
    $sel_continut = "no value sent";
}

echo "<a href=\"continut.php?pag=" . $informatie_tabel['nume_meniu'] . "\">" . $denumire_pagina . "</a> <br />";

谁能帮我理解我做错了什么?

【问题讨论】:

  • 定义“不工作”。你希望这段代码做什么?它实际上是做什么的?
  • 我期待从 "pag=" 得到一个值,现在我得到 "没有发送值";这意味着它没有设置“页面”,但它在 URL 中,对吗?
  • 页面加载时您设置的值是多少?我想我也应该问一个明显的问题...您不是在尝试获取查询字符串值在提供之前是吗?
  • SQL DB 中的字符串值。我在我试图回显的代码上方有连接。我还编写了一个没有 SQL 的代码,但它没有从 URL 中获取值。很明显,我做错了什么。这是代码 链接
    ";回声 $sel_continut; ?>
  • 你加载了多少次这个页面?也就是说,您用来测试的确切的步骤集是什么?我强烈怀疑您正在尝试读取查询字符串值 before 它曾经用于查询字符串。

标签: php url-parameters


【解决方案1】:

响应您的 cmets...

这是用于加载页面的 URL:

http://localhost/extragere_din_baza_de_date.php

请注意,没有查询字符串值。所以这段代码:

$_GET['pag']

不会找到任何东西。该值从未设置。所以你的代码总是要输入else 条件。您稍后创建一个带有查询字符串值的链接:

http://localhost/continut.php?pag=Home

但那是一个完全不同的页面甚至还没有被请求。如果您在 continut.php 页面的代码上引用 $_GET['pag'],那么您将看到该值。

我想说的是...在发送查询字符串值之前,您无法读取它。好消息是您不需要 读取此值。由于您在设置链接上的值的同一代码中,那么显然您已经拥有这个值。就在这里:

$informatie_tabel['nume_meniu']

【讨论】:

  • 我明白,所以我已将continut.php 更改为extragere_din_baza_de_date.php,并且我了解当我访问链接http://localhost/extragere_din_baza_de_date.php 时,它会得到else 语句,但是当我单击页面中的链接时现在链接是http://localhost/extragere_din_baza_de_date?pag=Home,上面写着Not Found The requested URL /extragere_din_baza_de_date was not found on this server. Apache/2.4.9 (Win64) PHP/5.5.12 Server at localhost Port 80
  • @SilviuAntohe:该链接似乎缺少文件名中的.php。链接必须指向实际页面,而不仅仅是类似于页面的东西。
  • 我忘了.php :) 再次感谢您对我的耐心。
猜你喜欢
  • 2011-05-04
  • 1970-01-01
  • 2019-05-15
  • 2013-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多