首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  HTML/JS/CSS技术专区 » [求助]关于弹出对话框在PHP中使用  


  作者:caonibb
  注册时间:2004-07-17
  主题/回复:25/29
  积分:554
  等级:★★★(六级)
  称号:声名鹊起

  love23350369@163..
  174224060
  www.

 

 发表:2005-06-16 00:23:15 阅读 5667 次 回复 10 次 得分1  |   字号 字色
[求助]关于弹出对话框在PHP中使用
老师您好:
    我们都知道在一些重要的文件在删除的时候都会有提示信息。所以我就想当我做一些后台的时候也想实现这种功能。当管理员在删除记录的时候会有提示“是否真的要删除该记录”点击“确定”就删除该记录(其实我知道这个地方该怎么做,就是传个参数,删除就可以了)点击“取消”将取消删除。(到这里我就不知道怎么做了,因为我以前用对话框都没有“取消”这个选项,光有个“确定”)怎样让这个弹出的对话框有“取消”这个按钮,怎样点击了“取消”实现取消删除的功能?
    我对JS了解的不多,见笑了。
以下是我写的原码,还有一部分是添加记录这个功能的。我把他们写到一个页面上了(可以用dreamweaver 打开,支持设计模式)
<?php
include "inc/mysql.inc";
$aa=new mysql;
$aa->link("qlgww");
$type=$_GET[id];
$id=$_GET[id];
if ($id!=""){
$query="SELECT * FROM `class` where id='$id'";
$rst=$aa->excu($query);
while ($mm=mysql_fetch_array($rst,MYSQL_ASSOC)){$class=$mm["class"];}
echo "<script language=javascript>";
echo "alert('是否真的要删除$class');";
echo "location.href='class_add.php?type=$id';</script>";
}
if ($type!=""){$query="delete FROM `class` where id='$type'";
$aa->excu($query);
}//以上是删除功能
?><style type="text/css">
<!--
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: none;
color: #999999;
}
a:active {
text-decoration: none;
}
-->
</style>
<form name="form1" method="post" action="class_add.php">
  <table width="600" height="81" border="0" cellpadding="0" cellspacing="0">
    <tr>
  <td width="151" height="17"></td>
  <td width="443" align="center" valign="middle">行 业 添 加</td>
    </tr>
    <tr>
  <td width="151" height="45"></td>
  <td align="center" valign="middle"><input name="class" type="text" id="class">  
  <input name="add" type="submit" id="add" value="添加"> </td>
    </tr>
  </table>
</form>
<?php 
if($_POST["add"]=="添加"){
$class=$_POST["class"];

$query="SELECT * FROM `class` where class='$class'";
$rst=$aa->excu($query);
while ($mm=mysql_fetch_array($rst,MYSQL_ASSOC))
{echo "该行业已经添加"; exit;}
$query="INSERT INTO `class` ( `id` , `class` ) 
VALUES (
'', '$class'
)";
$aa->excu($query);
echo "添加成功!";
}//以上是添加功能
?>
<table width="600">
  <tr>
    <td width="152" align="center" valign="middle"></td>
    <td width="270" align="center" valign="middle">行 业 名 称</td>
    <td width="176" align="center" valign="middle">操 作</td>
  </tr>
<?php
$query="SELECT * FROM `class`";
$rst=$aa->excu($query);
while ($mm=mysql_fetch_array($rst,MYSQL_ASSOC)){
?>  
  <tr>
    <td align="center" valign="middle"></td>
    <td align="center" valign="middle" bgcolor="#F6F6F6"><?php echo $mm["class"]?></td>
    <td align="center" valign="middle" bgcolor="#F6F6F6"><a href="class_add.php?id=<?php echo $mm["id"]?>">删除</a></td>
  </tr>
<?php }?>
</table>


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

   
 1#楼 发表于2005-06-16 16:14:48  评分:1 

很简单
<script language=javascript>
function delconfirm(s1){
 if(confirm(s1)){
  return true;
 }else{
  return false; 
 }

}
</script>

.....
<a href=xxx.php?delid=12  onClick="return confirm('确实要删除这个用户么?')"> 删除 </a>
 2#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 2#楼 发表于2005-06-16 16:18:04  评分: 

另外:
JS中主要有这么三种对话框:
alert  : 警告框,只有一个确定按钮
confirm : 提示框,有一个确定和一个取消
prompt :  提示框,可以输入一段内容,然后确定。

这三个前两个比较常用。
 3#楼  
 
  回复人:caonibb
  注册时间:2004-07-17
  主题/回复:25/29
  积分:554
  等级:★★★(六级)
  称号:声名鹊起

   
 3#楼 发表于2005-06-16 17:27:45  评分:× 

还有个问题就是 我如何接受这个对话框返回的值?
还有就是上会我问的关于用PHP连接SQL的时候,为什么我在用其他的机器的时候也出现了同样的问题(仍然提示php_mssql.dll不能加载)这是不是和操作系统有关系。我都是用的WIN2000PRO。
 4#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 4#楼 发表于2005-06-17 02:08:02  评分: 

就像confirm的返回值不用显式的接受,直接用if()判断即可,接收了也没有其他用户处。prompt的返回值直接 aaa=prompt(...),这样就把返回值放在aaa里面了。


关于php_mssql的问题,由于我个人从没有用过php+mssqlserver的搭配,所以没有什么经验。但是感觉应该和系统没有关系。如果你的机器上的sqlserver运行正常,php_mssql.dll也确实存在,那么如果仍然出现问题,可能就是PHP和mssqlserver搭配还是有问题的。
PHP官方手册中这样描述:

1. 听说 PHP 有可能访问 Microsoft SQL Server,怎样访问? 
在 Windows 机器中,你可以简单地使用内置的 ODBC 支持和正确的 ODBC 驱动程序。 
在 Unix 机器中,你可以用 Sybase-CT 驱动程序来访问 Microsoft SQL Server,因为它们的协议是(至少大部分)兼容的。Sybase 做了一个 Linux 系统下所需库的免费版本。对于其它 Unix 操作系统,你需要和 Sybase 联系来得到正确的库。同样也看看下一个问题的回答。
 5#楼  
 
  回复人:caonibb
  注册时间:2004-07-17
  主题/回复:25/29
  积分:554
  等级:★★★(六级)
  称号:声名鹊起

   
 5#楼 发表于2005-06-17 03:12:56  评分:× 

不好意思俺人笨,还是不怎么明白 怎样用IF判断啊,请写明代码好么?

关于PHP连接SQL的问题我已经解决了,其实不光是配置PHP.ini 文件。这样
只改动他是不能完全实现PHP调用SQL。还需要把PHP文件夹里的DLL文件夹里的对应的*.dll文件拷贝到C:\winnt\system32 中 这样才可以加载php_mssql.dll
当然还要在php.ini里指出php_mssql.dll的路径。才可以运行。
 6#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 6#楼 发表于2005-06-17 18:39:57  评分: 

if判断都不明白?我上面的例子中不是已经有了么?
confrm() 返回一个boolean值。true或者false。如果用户按下了“确定”,则返回true,如果按下了"取消",则返回false

if(confirm("你确定要删除马?")){
  //删除有关的代码,或者true 
  }else{
  //不删除,或者false
  }

 7#楼  
 
  回复人:caonibb
  注册时间:2004-07-17
  主题/回复:25/29
  积分:554
  等级:★★★(六级)
  称号:声名鹊起

   
 7#楼 发表于2005-06-17 19:50:14  评分:× 

晕~~~~我不知道您是不是把PHP(删除代码)直接写到JS中,这样可以么。我试了不行,没有反应。我也知道confrm() 返回一个boolean值。true或者false。可这样JS是知道返回的值。可是我怎么写PHP代码,怎么让PHP知道返回的是什么东西。这样我才可以判断啊 是删除 还是不删除啊 我是这样理解的。

还有就是JS中可以嵌入PHP代码? 要是可以的话 是怎么实现的 ?
 8#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 8#楼 发表于2005-06-21 00:35:54  评分: 

我看你还是没明白。
这个地方根本不需要涉及JS和PHP代码掺合在一块的情况。

比如,你原来,不加提示的时候,可能这么写代码:
<a href=xxx.php?delid=12> 删除 </a> 
这样的话,点击之后,转到xxx.php,在这里面接收delid,并且执行删除。

现在我们要加一个提示。也就是说,只有用户“确定”的时候,才转到xx.php,否则就不转。
<a href=xxx.php?delid=12 onClick="return delconfirm('确实要删除这个用户么?')"> 删除 </a>

点击这个“删除”之后,执行上面的delconfirm函数,显示一个窗口,如果选择了“确定”,那么转到 xxx.php?delid=12,如果点了“取消”,那么没有任何反应。

 9#楼  
 
  回复人:caonibb
  注册时间:2004-07-17
  主题/回复:25/29
  积分:554
  等级:★★★(六级)
  称号:声名鹊起

   
 9#楼 发表于2005-06-21 02:03:14  评分:× 

呵呵,我现在终于明白了 。有时候我的确很笨。请耐心。多谢老师指点!!!
 
不过我到是想知道在JS中可以嵌入PHP么 我在您以前写的代码中记得有在JS中嵌入PHP。我试了试没有什么反应。我想知道可以实现么?是如何实现的。
 10#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 10#楼 发表于2005-06-21 16:15:12  评分: 

在JS中可以直接嵌入PHP变量,但是反之不行。
这里的嵌入,也不是直接写PHP变量名,而是用PHP的语法包裹起来。
比如:

<?php
$test="abcd";
?>

<script language=javascript>
var1=<?php echo $test;?>;
alert(var1);
</script>

这样是可以的。这样PHP中的变量$test可以在JS中使用。
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

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