首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP+MYSQL编程 » [原创]哪位大哥能把下面ASP代码翻译成PHP程序吗  


  作者:yongbbs
  注册时间:2004-09-27
  主题/回复:6/9
  积分:439
  等级:★★☆(五级)
  称号:略有小成

  yongweb@163.com
  115574047
  www.xysb.com/dreamer

 

 发表:2004-09-27 20:53:11 阅读 2436 次 回复 5 次 得分1  |   字号 字色
[原创]哪位大哥能把下面ASP代码翻译成PHP程序吗

各位大哥,帮我把下面的ASP代码翻译成PHP代码好吗?


哪位大哥能把下面ASP代码翻译成PHP程序吗?
ASP程序我会写,但由于PHP程序我刚刚开始学,所以呢!呵,,不知道怎么写

最好帮我注释一个每句的代码含意,多谢了!!!


<!--#include file="conn.asp" -->
<% dim user,pwd
user=request.Form("user")
pwd=request.Form("pwd")
set rs=server.CreateObject("adodb.recordset")
sql="select * from 用户表 where 用户='"&user&"' and 密码='"&pwd&"'"
rs.open sql,conn,1,1
if rs.eof and rs.bof  then
response.write"这个表里面没有你的数据"
else
response.write"你好,你已经通过验正了"
end if


%>
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2004-09-28 17:53:41  评分:1 

如果你使用了mdb数据库,那么如果要改写成PHP代码,则需要设置ODBC数据源,较为复杂。这里以mysql数据库为例给出改写后的代码:

   <?php
 
 $user=$_POST["user"];
 $pwd=$_POST["pwd"];
   
 $id=mysql_connect("localhost","username","password");
 mysql_select_db("DBname",$id);
 sql="select * from 用户表 where 用户='$user' and 密码='$pwd'";
 $result=mysql_query(sql,$id);
 if(mysql_num_rows($result)==0){
    echo "这个表里面没有你的数据";
  }else{
    echo "你好,已经通过验证了!";
     }
?>

以上是完整的mysql数据库情况下的代码。如果你使用mdb数据库,那么需要首先在odbc数据源中设置好数据源。然后在代码中把 mysql_...命令修改成相应的 odbc命令即可。
 2#楼  
 
  回复人:yongbbs
  注册时间:2004-09-27
  主题/回复:6/9
  积分:439
  等级:★★☆(五级)
  称号:略有小成

   
 2#楼 发表于2004-09-28 21:52:35  评分:× 

多谢站找帮忙了,真的,如果多几个这样的人,那么我想中国的IT技术一定会进步的,

我还有一个问题,就是注册用户的问题

你帮我看一下哪里有误好吗?

<? $host="127.0.0.1"; 
$uid="root"; 
$pwd=""; 
$user=$_POST["user"]; 
$pass=$_POST["pass"]; 
$conn=mysql_connect($host,$uid,$pwd); 
mysql_select_db("user"); 
$result = mysql_query ("insert into wangyong (user,pwd) 
   VALUES ('$user', '$pass')"); 
if(!$result) 


{echo"注册失败";} 
else 

{echo"注册成功";} 


 3#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 3#楼 发表于2004-09-28 23:44:58  评分: 

关于这个问题,需要详细了解mysql_query()函数的含义。
PHP4官方说明文档中如下解释这个函数:
-------------------------------------------------
语法: int mysql_query(string query, int [link_identifier]);

返回值: 整数

本函数送出 query 字符串供 MySQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程序会自动寻找最近打开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE 时,返回的可能是 true 或者 false;查询的字符串是 SELECT 则返回新的 ID 值。当返回 false 时,并不是执行成功但无返回值,而是查询的字符串有错误。
-------------------------------------------------

根据以上官方说明文档的说明可以看出,这个函数的返回值是一个整数。这个整数是一个连接id。
可见,如果语句执行成功,则应该返回一个整数,而不是true或者false。一个整数用if()判断,返回true,所以,当判断为true时,说明语句一定执行成功了。但是返回false时,可能是语句本身有错误、语句当中提供的参数格式有问题等多种情况。

你上面的代码中,如果你的语句有语法错误,那么if()语句不会被执行,因为
$result=mysql_query(...)
这个语句就会报错,到这个地方就停止执行了。
所以,如果你运行这个程序的时候,没有出现系统错误提示,但是可能你察看数据库发现没有插入成功或者其他现象,那说明你提供的两个变量可能有问题,也就是说$user和$pwd可能有问题,比如包含了非法字符(比如单引号)等原因。如果系统直接报错,则说明语句本身有问题,但是据我观察,这个语句没有明显的语法错误。如果有,那么也说明数据库不存在或者其他简单错误。

总之,这个程序看不出来明显的错误。如果运行结果和你的预期结果不一致,那么可能是其他原因。比如两个变量是否为空你是否判断了?$user和$pwd两个字段在数据表内是否为唯一索引字段?或者说是key字段?如果是这样的话,那么不允许重复记录出现,如果试图插入重复纪录,肯定报错。还有,书写格式,拼写等等有无错误?有没有掺入了中文的字符或者空格而没有看出来?这些都是有可能导致问题的因素。


如果还有问题,请详细描述问题特征。比如报错信息,或者执行结果。不要只帖代码。
 4#楼  
 
  回复人:yongbbs
  注册时间:2004-09-27
  主题/回复:6/9
  积分:439
  等级:★★☆(五级)
  称号:略有小成

   
 4#楼 发表于2004-10-01 20:00:59  评分:× 

呵,,搞定了!好象是我在建表结构时把密码设为INT型了,而我注册时输入的是CHAR型,所以一直显示注册失败!
 5#楼  
 
  回复人:yongbbs
  注册时间:2004-09-27
  主题/回复:6/9
  积分:439
  等级:★★☆(五级)
  称号:略有小成

   
 5#楼 发表于2004-10-01 20:01:00  评分:× 

呵,,搞定了!好象是我在建表结构时把密码设为INT型了,而我注册时输入的是CHAR型,所以一直显示注册失败!
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.01sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版