0

OK: 次のような HTML コードがあります。

<form method="post">
  <ul>
    <li>
      <label for="username">Username</label>
      <input type="text" id="username" size="30" onblur="checkUser()" />
      <div id=user></div>
    </li>
    <li>
      <label for="email">Email</label>
      <input type="text" name="email" id="email" size="30" />
    </li>
    <li>
      <label for="first_name">First Name</label>
      <input type="text" name="first_name" id="first_name" size="30" />
    </li>
    <li>
      <label for="last_name">Last Name</label>
      <input type="text" name="last_name" id="last_name" size="30" />
    </li>
    <li>
      <label for="cell">Cell</label>
      <input type="text" name="cell" id="cell" size="30" />
    </li>
    <li>
      <label for="street">Street</label>
      <input type="text" name="street" id="street" size="30" />
    </li>
    <li>
      <label for="city">City</label>
      <input type="text" name="city" id="city" size="30" />
    </li>
    <li>
            <label for="zip">Zip</label>
      <input type="text" name="zip" id="zip" size="30" />
    </li>
    <li>
            <label for="password">Password</label>
      <input type="password" name="password" id="password" size="30" />
    </li>
    <li><label for="password2">Repeat Password</label>
      <input type="password" name="password2" id="password2" size="30" />
    </li>
    <li>
            <label for="submit"></label>
      <button type="submit" name="submit" id="submit">Register</button>
    </li>
  <ul>
</form>

JS関数で

function checkUser()
{   
    var userID=document.getElementById('username').value;
    alert(userID);
    createRequest();
    var url= "userCheck.php?username="+userID;
    //alert(url);
    request.open("GET",url,true);
    request.onreadystatechange=updatePage;
    request.send(null);
}

で立ち往生していdocument.getElementById('username').value;ます。アラートには、値が であることが示されていますusername

userCheck.phpこの関数を使用して上記のテキスト ボックスから値を取得し、それをクエリに渡して、ユーザー名が既に使用されているかどうかを確認しようとしています。

何か助けはありますか?

更新 - コードの残りの部分

<? include "heading.php" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<?php
function mailer($to,$username,$hash){

        $subject = "Test mail";
        $message = "http://www.me.com/verify.php?username=$username&hash=$hash";
        $from = "me@myself.com";
        $headers = "From:" . $from;
        mail($to,$subject,$message,$headers);
        echo "Mail Sent.";

    }

if(isset($_POST['submit'])){
        if($_POST['password']==$_POST['password2'] && !empty($_POST['password']) && !empty($_POST['username']) && !empty($_POST['email']) && !empty($_POST['last_name'])){
            if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['email'])){
                $msg = 'The email you have entered is invalid, please try again.';  
                }else{
                    require_once "UserManagement.php";
                    $hash = md5(rand(0,1000));
                    $usman=new UserManagement();
                    $usman->createUser($_POST['username'],$_POST['email'],$_POST['first_name'],$_POST['last_name'],$_POST['cell'],$_POST['street'],$_POST['city'],$_POST['zip'],md5($_POST['password']),$hash);
                    mailer($_POST['email'],$_POST['username'],$hash);
                    $msg = 'Your account has been made, <br /> please verify it by clicking the activation link that has been send to your email.';  
                    header('Location: http://www.me.com/me');
                    }
                    }else{
                        $msg = 'Form Data Incorrect';
                        sleep(10);
                        header('Location:http://www.me.com/me');

                    }
}

?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registration</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css/templatemo_style.css" rel="stylesheet" type="text/css" />




<script language="javascript" type="text/javascript">
function clearText(field)
{
    if (field.defaultValue == field.value) field.value = '';
    else if (field.value == '') field.value = field.defaultValue;
}
</script>

<link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" />

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/ddsmoothmenu.js">

/***********************************************
* Smooth Navigational Menu- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

</script>

<script type="text/javascript">

ddsmoothmenu.init({
    mainmenuid: "templatemo_menu", //menu DIV id
    orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
    classname: 'ddsmoothmenu', //class added to menu's outer DIV
    //customtheme: ["#1c5a80", "#18374a"],
    contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
})

</script>

</head>
<body id="sub_page">
<div id="templatemo_wrapper">
    <div id="templatemo_top">
        <div id="templatemo_login">
        <?include "loginbox.php"?>
        </div>
    </div> <!-- end of top -->

    <div id="templatemo_header">
        <div id="site_title"><h1><a href="http://www.spaladonna.com">SPA LaDonna</a></h1></div>
        <div id="templatemo_menu" class="ddsmoothmenu">
            <? include "mainmenu.php" ?>
        </div> <!-- end of templatemo_menu -->
    </div> <!-- end of header -->
    <? include "checkuser.php"?>
    <div id="templatemo_main">
        <div id="templatemo_content">
            <div class="col_fw">
                <h1>Register User</h1>

                <fieldset>
                    <legend>New User Signup</legend>
                    <form method="post">
                        <ul>

                                <li><label for="username">Username</label>
                                <input type="text" id="username" size="30" onblur="checkUser()" />
                                <div id=user >   </div>
                                </li>

                                <li><label for="email">Email</label>
                                <input type="text" name="email" id="email" size="30" />
                                </li>

                                <li><label for="first_name">First Name</label>
                                <input type="text" name="first_name" id="first_name" size="30" />
                                </li>

                                <li><label for="last_name">Last Name</label>
                                <input type="text" name="last_name" id="last_name" size="30" />
                                </li>

                                <li><label for="cell">Cell</label>
                                <input type="text" name="cell" id="cell" size="30" />
                                </li>

                                <li><label for="street">Street</label>
                                <input type="text" name="street" id="street" size="30" />
                                </li>

                                <li><label for=city">City</label>
                                <input type="text" name="city" id="city" size="30" />
                                </li>

                                <li><label for="zip">Zip</label>
                                <input type="text" name="zip" id="zip" size="30" />
                                </li>

                                <li><label for="password">Password</label>
                                <input type="password" name="password" id="password" size="30" />
                                </li>

                                <li><label for="password2">Repeat Password</label>
                                <input type="password" name="password2" id="password2" size="30" />
                                </li>

                                <li><label for="submit"></label>
                                <button type="submit" name="submit" id="submit">Register</button>
                                </li>

                        <ul>
                    </form>
                </fieldset>
<script type="text/javascript">
var request=null;
function createRequest()
{
    try{

        request= new XMLHttpRequest();

        }catch(tryMicrosft){
            try{
                request= new ActiveXObject("Msxml2.XMLHTTP");

            }catch(otherMicrosoft){
                try{

                        request=new ActiveXObject("Microsoft.XMLHTTP");
                }catch(failed){

                    request=null;
                }
            }   
        }
        if(request==null)
        alert("Error creating request object!");
//else alert("Successfully created");
}

function checkUser()
{   
    var userID=document.getElementById('username').value;
    alert(userID);
    createRequest();
    var url= "userCheck.php?username="+userID;
    //alert(url);
    request.open("GET",url,true);
    request.onreadystatechange=updatePage;
    request.send(null);
}
function updatePage()
{
    if(request.readyState==4)
    replaceText('user',request.responseText);
}

function clearText(el) {
  if (el != null) {
    if (el.childNodes) {
      for (var i = 0; i < el.childNodes.length; i++) {
        var childNode = el.childNodes[i];
        el.removeChild(childNode);
      }
    }
  }
}


function replaceText(el, text) {
  if (el != null) {
    el=document.getElementById(el);
    clearText(el);
   //setTimeout("alert("HELLO")", 4000);


    var newNode = document.createTextNode(text);

   el.appendChild(newNode);




  }
}

</script>
                </div>
<div class="col_fw_last">                 

                <div class="col_w300 float_l">

                </div>

                <div class="col_w300 float_r">

                </div>

                <div class="cleaner"></div>
            </div>  
        </div> <!-- end of content -->

        <div id="templatemo_sidebar">
        <h4>Categories</h4>
            <div class="sidebar_box">
                <ul class="templatemo_list">
                    <li><a href="#">Aliquam pretium porta odio</a></li>
                    <li><a href="#">Integer sit amet erat sit</a></li>
                    <li><a href="#">Nunc elementum mollis</a></li>
                    <li><a href="#">Quisque dictum pharetra</a></li>
                </ul>
            </div>

            <div class="cleaner h40"></div>

            <h4>Cool Links</h4>
            <div class="sidebar_box">
                <ul class="templatemo_list">
                    <li><a href="http://www.templatemo.com" target="_parent">Free CSS Templates</a></li> 
                    <li><a href="http://www.flashmo.com/page/1" target="_parent">Flash XML Galleries</a></li>
                    <li><a href="http://www.flashmo.com" target="_parent">Flash Templates</a></li>
                    <li><a href="http://www.webdesignmo.com/blog" target="_parent">Web Design Resources</a></li>
                </ul>
            </div>
            <div class="cleaner h40"></div>
                <h4>Latest Updates</h4>
                <div class="news_box">
                    <a href="#">Donec eu orci dolor</a>
                    <p>Pellentesque in nunc quam. Sed molestie ultricies ante, vel scelerisque diam varius sed. </p>
                </div>
                <div class="news_box">
                    <a href="#">Aliquam bibendum vulputate</a>
                    <p>Auris nisl mi, aliquet ac lobortis ut, tincidunt in tortor nisl vitae lectus dapibus pellentesque.</p>
                </div>
                <div class="news_box">
                    <a href="#">Nunc viverra vestibulum </a>
                    <p>Nunc viverra vestibulum magna, nec dignissim turpis rhoncus tincidunt. Donec ac nibh arcu. </p>
                </div>
                <div class="news_box">
                    <a href="#">Fusce placerat ultrices</a>
                    <p>Integer ac ultricies nisi. Curabitur velit ante, porttitor ac feugiat a, porta ut lectus.</p>
                </div>
        </div> <!-- end of sidebar -->

        <div class="cleaner"></div>
    </div> <!-- end of main -->
</div> <!-- end of wrapper -->

<div id="templatemo_footer_wrapper">
    <div id="templatemo_footer">
        Copyright © 2012 <a href="#"></a>
        <div class="cleaner"></div>
    </div>
</div> 

</body>
</html>
<? ob_flush(); ?>

そしてheader.php

<? ob_start(); ?>
<?php 
session_start(); 
$_SESSION['url'] = $_SERVER['REQUEST_URI'];
if(isset($_POST['login'])){
        require_once "UserManagement.php";
        $usman=new UserManagement();
        if($usman->authenticate($_POST['username'],md5($_POST['password']))){
                header('Location: http://www.me.com')
        }else {
                echo "Authentication error";
                echo '<a href="index.php">Home</a>';            
        }
        die();
}
?>

必要に応じて、すべてのメニューやものも投稿できます

4

2 に答える 2

1

これで試してください

//replace

var userID=document.getElementById('username').value;

//for this

var userID = document.forms[0]['username'].value;
于 2012-05-03T01:05:47.997 に答える
0

はい-間違いなく私の側ではID 10 Tエラーでした-私はloginbox.phpを呼び出していましたが、プレースホルダーとして実際の単語「ユーザー名」としてID = 'username'に値を設定していることに気づきませんでした

フォーム上のものを id='newuser' などに変更しました-ブームはすべて順調です

于 2012-05-10T07:57:22.283 に答える