Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用友好的URL?_Php_Mysql_Url_Rewrite - Fatal编程技术网

Php 如何使用友好的URL?

Php 如何使用友好的URL?,php,mysql,url,rewrite,Php,Mysql,Url,Rewrite,我花了几天时间编写了一小段php脚本(我是一个noob) 这是我的密码: <?php require ('connect.php'); $requete = mysql_query('SELECT * FROM videos WHERE id="'.$_GET['id'].'"') or die(mysql_error()); if(mysql_num_rows($requete)=='0'){ }else{ while($resultats = mysql_fetch_arr

我花了几天时间编写了一小段php脚本(我是一个noob)

这是我的密码:

<?php
require ('connect.php');

$requete = mysql_query('SELECT * FROM videos WHERE id="'.$_GET['id'].'"') or die(mysql_error());

if(mysql_num_rows($requete)=='0'){
}else{
    while($resultats = mysql_fetch_array($requete)){ 
?> <!-- some html content --> <?php
    }
}

mysql_close(); 
?>
</body>
</html>
出什么事了

我也想使用它,但我没有在屏幕上显示任何内容(无法找到此页面)

它在我的表中搜索,在其中找到URL关键字


谢谢大家!

我认为您的问题实际上可能很简单:RewriteRule以错误的方式捕获变量
RewriteRule atest/([a-zA-Z0-9\-]+)-([0-9]+)atest.php?id=$1&url=$2[L,QSA]
将匹配“atest/example-42”,并将其映射到“atest.php?id=example&url=42”-$1表示第一组括号,将$2映射到第二组括号。尝试一个
print\u r()
var\u export()
$\u GET

顺便说一句,在某些边缘情况下,正则表达式可能会出错,因为它不会断言ID必须在最末尾出现——因此“atest/example-2-word-42”可能最终会选择ID为2,而不是42。添加一个“$”应该可以解决这个问题:
RewriteRule-atest/([a-zA-Z0-9\-]+)-([0-9]+)$atest.php?id=$1&url=$2[L,QSA]


如果重写规则根本不起作用(你的问题不清楚结果是什么),那可能是Apache的.htaccess处理中的一些微妙之处…

Hmm。。我不知道“Thank”是一个PHP关键字。它就像是throw,但你会看到一个充满小猫的页面。不要与
Spank
混淆,后者会让你看到一个完全不同的页面。你需要编写代码,将友好的url解释为id。你不能只是链接到它,然后期望脚本自己理解。除了要注意将$直接放入查询之外,这是一个很大的安全漏洞。使用(int)验证它,对于文本值,使用mysql real escape string函数欢迎来到美丽的SQL注入世界!你的网站可以不费吹灰之力就被黑客入侵。我知道你是个noob,所以现在是忘记旧的
mysql\uuz
函数的最好时机,现在还不算太晚!如果你正在学习,那就学习mysqli或PDO编写的语句,让世界变得更快乐。
RewriteEngine On

RewriteCond %{REQUEST_URI} !\.(css|png|jpe?g|gif|js|mp3|3gp|ico)$
RewriteRule atest/([a-zA-Z0-9\-]+)-([0-9]+) atest.php?id=$1&url=$2[L,QSA]
if($resultats["url"]!=$_GET["url"]) {
  header ("location:/mysite/video/".$resultats["url"]."-".$resultats["id"]);
}