【发布时间】:2023-03-09 13:31:01
【问题描述】:
好的,所以我正在制作这个网站(有点像 bitly 或 goo.gl),您可以在其中输入链接并缩短链接,但还有一些额外的好处。
现在我只是托管一个本地 mysql 服务器进行测试,它的设置方式是,一旦输入一个缩短链接,就会生成一个随机的 3 位代码并将其连同它的链接一起放入 mysql 表中。
当你在网站上输入代码时,它会去mysql表,找到代码,找到对应的链接,理论上应该是带回那个链接,然后打开它。
这就是问题所在。它根本行不通。我不知道这是html页面的问题,还是脚本的问题,但我不知道。
我对 PHP(用于查询脚本的语言)不是很有经验,所以我不确定如何进行故障排除。
我希望这里有人可以提供一些关于为什么它可能不起作用的见解。
我所知道的是,当我单击“Go”按钮时,它会打开 php 代码而不是运行它,我不知道如何修复它。
由于我不知道到底是什么问题,这里是html和php代码。
HTML: (为方便起见,只剩下身体。其他地方没有什么有趣的)
<body>
<center><form action="sql_query.php" method="post">
<input class="enjoy-css" placeholder="" maxlength="3" name="var" type="text" />
<script type="text/javascript" script-name="josefin-sans" src="http://use.edgefonts.net/josefin-sans.js"></script>
<input type="submit" class="enjoy-css_1" value="Go" src="sql_query.php" />
<script type="text/javascript" script-name="josefin-sans" src="http://use.edgefonts.net/josefin-sans.js"></script>
</form></center>
PHP:
<?php
$servername = "localhost";
$username = "nimbleadmin";
$password = "admin";
$dbname = "nimble";
$var = $_POST['var'];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = mysql_query("SELECT id, nimblecode, urlredirect, messageredirect FROM linker WHERE nimblecode = '" + $var + "'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo "id: " . $row["nimblecode"]. " //// URL: " . $row["urlredirect"]. " //// Message: " . $row["messageredirect"]. "<br>";
if ($row["messageredirect"]. == null) {
header('Location: ' . $row["urlredirect"]);
} else {
header('Location: http://nic.x10.mx/message?' . $row["nimblecode"]);
}
$conn->close();
?>
非常感谢任何帮助!我知道这是一个有趣的问题,但我仍在学习!
【问题讨论】:
-
您是否安装了 php 并配置了 Apache(或您正在使用的任何网络服务器)以正确运行 php 文件?
-
它们还没有从网络服务器上运行,而只是通过浏览器在本地进行测试,同时正在开发以简化流程。如果在本地运行,我将如何安装它们?
-
为了在本地运行 php 文件,您需要安装一个网络服务器,例如 wamp 或 xampp 应该可以帮助您入门,它捆绑了 apache、php、mysql。
-
我理解达伦,我只是让一切正常工作,即使代码非常混乱。一旦它正常工作,我将清理代码并修复所有错误。
-
谢谢亚历克斯,我试试看!