首页 > 解决方案 > 如何从传入的 url 中获取 Id 值?

问题描述

当用户访问此链接时www.sitename.com/index.php?userid=1

但用户不需要登录。

我想为数据库中的 ID =1 用户更改一些值。我怎样才能改变价值。当用户刚来这个url地址?

这是我的 index.php 代码:(包括一些关于二维码的其他代码)

<?php
  require "header.php";
  require_once 'phpqrcode/qrlib.php';
  $path='img/';
  $file = $path.uniqid().".png";
?>
<?php
echo 'Current PHP version: ' . phpversion();
?>


    <main>
      <div class="wrapper-main">
        <section class="section-default">

          <?php

          if (!isset($_SESSION['userID'])) {
            echo '<p class="login-status">You are logged out!</p>';
          }
          else if (isset($_SESSION['userID'])) {
              $text="http://sitename.com/project/userid{$_SESSION["userID"]}";
            echo '<p class="login-status">You are logged in!</p>';
               QRcode::png($text,$file,'L',10,2);
            echo "<center><img src='".$file."'></center> " ; 


}
          ?>
        </section>
      </div>
    </main>

<?php
  require "footer.php";
?>

编辑 1

当我尝试这个时我失败了我的错在哪里?

<?php
if(!empty($_GET['user_idx'])){
   $user_idx=$_GET['user_idx'];
   require_once 'dbh.inc.php';
   $sql = "UPDATE users SET balance=balance-5 WHERE user_idx='$user_idx';";
   mysqli_query($conn,$sql);
}

在里面dbh.inc.php

$servername ="127.0.0.1";
$dBUsername="xx";
$dBPassword="xx";
$dBName="xx";


$conn= mysqli_connect($servername,$dBUsername,$dBPassword,$dBName);

if(!$conn){
    die("Connection failed:".mysqli_connect_error());
}

标签: phpmysql

解决方案


可以通过该GET方法访问或检索直接从 URL 获取的数据

对于您的 URL www.sitename.com/index.php?userid=1,您可以userid=1使用代码访问该部分$_GET['userid'] // which will result into "1"

现在,如果您想更改它,您可以创建一个链接,然后将一个变量或新值传递给它:

在你的情况下:

$text="http://sitename.com/project?userid{$_SESSION["userID"]}";
//we will treat the "userid" as a variable now
//so for you to fetch it, use:
//$_GET['userid']

推荐阅读