萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 2126|回复: 7

今天的3个问题。。。关于PHP调用Js等等。。。

[复制链接]
发表于 2009-2-26 17:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
本帖最后由 Unbekannt 于 2009-2-26 16:54 编辑

1.  紫色字部分, 去除注释后会报错。。。而且就算不运行紫色部分, 实际只运行if之后, 并没有数据写入到MySQL中。。。2楼贴出insertData()和insert()方法。。。

2.  红色字部分, 我不知道实际是否真的已经调用了Base.js, 在onsubmit=return check_data()之后。。。即便是false...还是会提交。。。后来我换了一种写法就可以检测到。。。为什么呢。。。
另一种写法及base.js见3楼。。。

3.  绿色字部分, 如何判断和获取下拉菜单的信息呢。。。
=================================================

<?php require_once('../config.inc.php');?>
<?php require_once('./check.php');?>
<?php require_once(INCLUDE_PATH.'db.inc.php');?>
<?php require_once(INCLUDE_PATH.'user.inc.php');?>
<?php
$user = new User();
$group = array();
$group = $user->GetGroupList();

if($_SERVER['REQUEST_METHOD']=="POST")
{
        if(!$user->CheckAdminExist($_POST['username']))
        {
                $data = array();
                $data['F_USER_NAME'] = $_POST['username'];
                $data['F_USER_PASSWORD'] = md5($_POST['pwd']);
                $data['F_ID_GROUP_INFO'] = $_POST['groupid'];
               
                if($user->insertData("EM_ADMIN_INFO", $data));
                {
                        echo "erfolgreich hinzufuegt!";
                }
##                else{
##                        echo "Fehler";
##                        echo "<br><a href='AdminList.php?MenuId={$_GET['MenuId']}'>zurueck zu Benutzerliste</a>";
##                }

                echo "<br><a href='AdminList.php?MenuId={$_GET['MenuId']}'>zurueck zu Benutzerliste</a>";
                exit();
        }else{
                echo "Benutzer existiert schon!";
        }
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8">
<link href="../css/menu.css" rel="stylesheet" type="text/css">
<script language="javascript" src="../Js/Base.js"></script>
</head>
<form action="" method="post" name="form1" id="form1" onsubmit="JavaScript: return check_data();">
        <table width="70%" border="0" align="center">
                <tr>
                        <th height="23" class="caption">Benutzer hinzufügen</th>
                </tr>
                <tr>
                        <td bgcolor="#eeeeee">
                                <table width="70%" border="0" align="center">
                                        <tr>
                                                <td width="18%" align="right">Benutzername:&nbsp;</td>
                                                <td width="82%"><input name="username" type="text" id="username" maxlength="15">
                                                aus 3 bis 15 Zeichen</td>
                                        </tr>
                                        <tr>
                                                <td align="right">Passwort:&nbsp;</td>
                                                <td ><input name="pwd" type="password" id="pwd" maxlength="15">
                                                aus 5 bis 15 Zeichen</td>
                                        </tr>
                                        <tr>
                                                <td align="right">Wiederholung&nbsp;(Passwort):&nbsp;</td>
                                                <td ><input name="pwd2" type="password" id="pwd2" maxlength="15">
                                                noch einmal Passwort eingeben</td>
                                        </tr>
                                        <tr>
                                                <td align="right">Gruppewahl:&nbsp;</td>
                                                <td><select name="groupid" id="groupid">
                                                <option value="">ausw&auml;hlen</option>

                                                <?php
                                                foreach($group as $value)
                                                {
                                                        $html = "<option value='{$value['F_ID']}'";
                                                        $html .= ">{$value['F_GROUP_NAME']}</option>";
                                                        echo $html;
                                                }
                                                ?>

                                                </select></td>
                                        </tr>
                                </table>
                        </td>
                </tr>
                <tr>
                        <th align="center"><input type=submit name=submit value=Speichern></th>
                </tr>
        </table>
</form>
</html>

<script language="JavaScript">

function test()
{
        return false;
}

function check_data()
{
       
        if($('username').value.trim()=='')
        {
                alert("Benutername darf nicht leer sein!");
                $('username').focus();
                return false;
        }

        if($('username').value.trim().len()<3)
        {
                alert("Benutername muss mehr als 2 Zeinchen sein!");
                $('username').focus();
                return false;
        }

        if($('username').value.trim().len()>16)
        {
                alert("Benutername muss wenig als 17 Zeinchen sein!");
                $('username').focus();
                return false;
        }

        if($('pwd').value.trim().len()<5)
        {
                alert("Passwort muss mehr als 4 Zeinchen sein!");
                $('pwd').focus();
                return false;
        }

        if($('pwd').value.trim().len()>16)
        {
                alert("Passwort muss wenig als 16 Zeinchen sein!");
                $('pwd').focus();
                return false;
        }

        if($('pwd').value != $('pwd2').value)
        {
                alert("Passwort und wiederholtes Passwort sind nicht identisch!");
                $('pwd').focus();
                return false;
        }

        if($('groupid').option[$('groupid').selectedIndex].value=="")
        {
                alert("Eine Gruppe muss ausgew&auml;hlt werden!");
                return false;
        }


        return false;
}
</script>
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-2-26 17:56 | 显示全部楼层

insertData()和insert()方法

insertData()和insert()方法
======================================================
                public function insertData($name, $data)
        {
                $field = implode(',',array_keys($data));
##                $i = 0;
                foreach($data as $key=>$val)
                {
                        $value .= "".$val."";
                        if($key<count($data)-1)
                                $value .= ",";
##                        $i++;
                }
                $sql = "INSERT INTO ".$name."(".$field.") VALUES (".$value.")";
                return $this->insert($sql);
        }

====================================================

                public function insert($sql="")
        {
                if(empty($sql)) return 0;
                if(empty($this->CONN)) return 0;
                try
                {
                        $results = mysql_query($sql,$this->CONN);
                }catch(Exception $e)
                {
                        $msg = $e;
                        include(ERRFILE);
                }
                if(!$results)
                        return 0;
                else
                        return @mysql_insert_id($this->CONN);
        }
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-2-26 18:00 | 显示全部楼层

另一种写法及base.js

check_data()另一种写法。。。

        if(form1.username.value=='')
        {
                alert("Benutername darf nicht leer sein!");
                form1.username.focus();
                return false;
        }

        if(form1.username.value.length<3)
        {
                alert("Benutername muss mehr als 2 Zeinchen sein!");
                form1.username.focus();
                return false;
        }

        if(form1.username.value.length>16)
        {
                alert("Benutername muss wenig als 17 Zeinchen sein!");
                form1.username.focus();
                return false;
        }

        if(form1.pwd.value.length<5)
        {
                alert("Passwort muss mehr als 4 Zeinchen sein!");
                form1.pwd.focus();
                return false;
        }

        if(form1.pwd.value.length>16)
        {
                alert("Passwort muss wenig als 16 Zeinchen sein!");
                form1.pwd.focus();
                return false;
        }

        if(form1.pwd.value != form1.pwd2.value)
        {
                alert("Passwort und wiederholtes Passwort sind nicht identisch!");
                form1.pwd.focus();
                return false;
        }
========================================================
Base.js

function $()
{
        var elements = new array();
        for(var i=0;i<arguments.length;i++)
        {
                var element = arguments[i];
                if(typeof element == 'string')
                element = document.getElementById(element);
                if(arguments.length == 1)
                return element;
                elements.push(element);
        }
        return elements;
}

if(!Array.prototype.push)
{
        Array.prototype.push = function()
        {
                var startLength = this.length;
                for(var i=0;i<arguments.length;i++)
                this[startLength + i] = arguments[i];
                return this.length;
        }
}

String.prototype.trim = function()
{
        return this.replace(/(^\s*)|(\s*$)/g,"");
}

String.prototype.len = function()
{
        return this.replace(/[^\x00-\xff]/g,"aa").length;
}
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
头像被屏蔽

TA的专栏

发表于 2009-2-26 23:55 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-2-27 09:54 | 显示全部楼层
insertData的mysql语句没考虑周全, value一般要注意是否需要引号在外面;
google:  prototype
google:  php select option value
Server 发表于 2009-2-26 22:55



roger that.
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-3-1 22:25 | 显示全部楼层
帮Server 说具体一点。
insert一般格式是这样第
INSERT INTO tableName (fieldName1, fieldName2) VALUES ('value1', 'valuel2')
fieldName 和 value 要先进行 special characters escaping。

关于Javascript ...
─壶酒 发表于 2009-3-1 11:44


我靠, 多谢了。。。找到原因了。。。原来value没有忘了单引。。。
俄~~~还有这个大小写。。。总是没有注意。。。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-2 17:27 , Processed in 0.058754 second(s), 19 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表