Home > Backend Development > PHP Tutorial > 我这个代码点击提交后的为什么页面显示不存在?

我这个代码点击提交后的为什么页面显示不存在?

DDD
Release: 2023-11-24 17:47:40
Original
1005 people have browsed it

这是两个页面  下面是1.php  提交后跳转到2.php 再跳转到1.php  我用360的浏览器提交后直接显示页面不存在  是怎么回事? 数据库也没有任何东西    我是新手 可能有很多错误 大家帮我看看吧  谢谢  
     
 
这是1.php  
$db = new PDO('mysql:host=localhost;dbname=t1', 'root', '',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));  
 $rs = $db -> prepare("select * from `baidu`;");  
 $rs -> execute();  
 $list = $rs -> fetchAll(PDO::FETCH_ASSOC);  
?>  
 
 
 
 

 
   foreach($list as $v){
echo $v['type'].'
';  
      echo $v['name'].'
';  
      echo $v['num'].'
';  
      echo $v['site'].'
';  
      echo $v['content'].'
';  
    }  
  ?>  
 
 
      
 
          
 
              
              
              
              
          
 
          
 
            
      
 
 
 
 
 
这是2.php  
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
if($pdo->exec("INSERT INTO baidu(  
type,  
name,  
num,  
site,  
content  
)  
VALUES (  
'select','name','num','site','content'  
)")){  
echo "<script>alert('发布成功');location='1.php';</script>";  
}  
?>

回复讨论(解决方案)

看看地址栏上的网址是什么?  
还有,你的站点目录结果及这两个文件所在的位置是怎么样的?


看看地址栏上的网址是什么?  
还有,你的站点目录结果及这两个文件所在的位置是怎么样的?


都在www目录下 没有问题  网址也是http://localhost/2.php    
 


看看地址栏上的网址是什么?  
还有,你的站点目录结果及这两个文件所在的位置是怎么样的?


 
我单独打开2.php也显示不错在  怎么回事


看看地址栏上的网址是什么?  
还有,你的站点目录结果及这两个文件所在的位置是怎么样的?


 
我刚才粗心把那个2.php的文件放到外面了 所以不显示  现在我放到www目录下了  但是数据提交成功后显示不出来刚才提交的内容呢   
而且为什么数据库里面不是插入的数据呢  都是name的值呢  




看看地址栏上的网址是什么?    
还有,你的站点目录结果及这两个文件所在的位置是怎么样的?


 
我刚才粗心把那个2.php的文件放到外面了 所以不显示  现在我放到www目录下了  但是数据提交成功后显示不出来刚才提交的内容呢   
而且为什么数据库里面不是插入的数据呢  都是name的值呢  

因为你2.php的sql没有加$  写的是常量

$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");  
if($pdo->exec("INSERT INTO baidu(  
type,  
name,  
num,  
site,  
content  
)  
VALUES (  
'select','name','num','site','content'  
)")){  
echo "<script>alert('发布成功');location='1.php';</script>";  
}  
 
你自己插入的就是字符串,当然就是那个结果。你并没有获取表单提交过来的值。

post的值没有传过去  我改成(  
'$_POST[select]','$_POST[name]','$_POST[num]','$_POST[site]','$_POST[content]'  
)")  怎么还是不行啊  
 

$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");  
if($pdo->exec("INSERT INTO baidu(  
type,  
name,  
num,  
site,  
content  
)  
VALUES (  
'select','name','num','site','content'  
)")){  
echo "<script>alert('发布成功');location='1.php';</script>";  
}  
 
你自己插入的就是字符串,当然就是那个结果。你并没有获取表单提交过来的值。


 
post的值没有传过去  我改成(  
'$_POST[select]','$_POST[name]','$_POST[num]','$_POST[site]','$_POST[content]'  
)")  怎么还是不行啊  

改成这样了    插入的内容还是原来的那些  
   
('$_POST[select]','$_POST[name]','$_POST[num]','$_POST[site]','$_POST[content]')") 

在2.php 中 print_r($_POST); 看看结果。  
 
改成下面这样试试看  

(&#39;{$_POST[&#39;select&#39;]}&#39;,&#39;{$_POST[&#39;name&#39;]}&#39;,&#39;{$_POST[&#39;num&#39;]}&#39;,&#39;{$_POST[&#39;site&#39;]}&#39;,&#39;{$_POST[&#39;content&#39;]}&#39;)")
Copy after login
Copy after login
Copy after login
Copy after login


在2.php 中 print_r($_POST); 看看结果。

改成下面这样试试看

(&#39;{$_POST[&#39;select&#39;]}&#39;,&#39;{$_POST[&#39;name&#39;]}&#39;,&#39;{$_POST[&#39;num&#39;]}&#39;,&#39;{$_POST[&#39;site&#39;]}&#39;,&#39;{$_POST[&#39;content&#39;]}&#39;)")
Copy after login
Copy after login
Copy after login
Copy after login



改成你这样了 还是不行 print_r($_POST);这句话加在echo前面吗 试了一下 什么都没有 我把echo注释掉 只写这一句 怎么还是弹出来提交成功 然后还和原来一样

你这个SQL写法都有问题的。
老老实实拼接SQL语句字符串吧。




在2.php 中 print_r($_POST); 看看结果。

改成下面这样试试看

(&#39;{$_POST[&#39;select&#39;]}&#39;,&#39;{$_POST[&#39;name&#39;]}&#39;,&#39;{$_POST[&#39;num&#39;]}&#39;,&#39;{$_POST[&#39;site&#39;]}&#39;,&#39;{$_POST[&#39;content&#39;]}&#39;)")
Copy after login
Copy after login
Copy after login
Copy after login



改成你这样了 还是不行 print_r($_POST);这句话加在echo前面吗 试了一下 什么都没有 我把echo注释掉 只写这一句 怎么还是弹出来提交成功 然后还和原来一样
加在首行先看下有不有值。
print_r($_POST);
exit();
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
.....





在2.php 中 print_r($_POST); 看看结果。

改成下面这样试试看

(&#39;{$_POST[&#39;select&#39;]}&#39;,&#39;{$_POST[&#39;name&#39;]}&#39;,&#39;{$_POST[&#39;num&#39;]}&#39;,&#39;{$_POST[&#39;site&#39;]}&#39;,&#39;{$_POST[&#39;content&#39;]}&#39;)")
Copy after login
Copy after login
Copy after login
Copy after login

  


   
改成你这样了 还是不行  print_r($_POST);这句话加在echo前面吗  试了一下 什么都没有 我把echo注释掉 只写这一句 怎么还是弹出来提交成功 然后还和原来一样
加在首行先看下有不有值。  
print_r($_POST);  
exit();  
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");  
.....  

 
我刚下班 试了一下 还是 不行 和原来一样

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template