hej
få noget tid siden spørger jeg til hvordan man kun check et brugernavn. det jeg skal få lavet nu det er bare tilføj sådan at den check op på både brugernavn og email.
- <script type="text/javascript">
- function CheckUserName(username){
- if(username.length > 3){
- var url = "/ajax_check_username.php";
- var params = "brugernavn="+ username +"&rand="+Math.random();
- http = new XMLHttpRequest();
- http.open("POST", url, true);
- //Send the proper header information along with the request
- http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- http.setRequestHeader("Content-length", params.length);
- http.setRequestHeader("Connection", "close");
- http.send(params);
- http.onreadystatechange = function () {
- if(http.readyState == 4 && http.status == 200 ){
- var val = parseInt(http.responseText);
- var html=(val > 0) ? '<font color="red">Brugernavn er optaget!</font>' : '<font color="Green">Tilgængelig Brugernavn!</font>';
- document.getElementById('availability_status').innerHTML = html;
- }
- }
- }
- else{
- document.getElementById('availability_status').innerHTML = '<font color="#cc0000">Brugernavn for kort</font>';
- }
- }
- function CheckUserEmail(email){
- if(email.length > 3){
- var url = "/ajax_check_email.php";
- var params = "email="+ email +"&rand="+Math.random();
- http = new XMLHttpRequest();
- http.open("POST", url, true);
- //Send the proper header information along with the request
- http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- http.setRequestHeader("Content-length", params.length);
- http.setRequestHeader("Connection", "close");
- http.send(params);
- http.onreadystatechange = function () {
- if(http.readyState == 4 && http.status == 200 ){
- var val = parseInt(http.responseText);
- var html=(val > 0) ? '<font color="red">optaget!</font>' : '<font color="Green">Tilgængelig</font>';
- document.getElementById('availability_status').innerHTML = html;
- }
- }
- }
- else{
- document.getElementById('availability_status').innerHTML = '<font color="#cc0000">for kort</font>';
- }
- }
- </script>
- <tr>
- <td><p>Email</p></td>
- <td><input type="email" name="email" id="email" onblur="CheckUserEmail(this.value)"></td>
- <td><span id="availability_status"></span></td>
- </tr>
- <tr>
- <td><p>Brugernavn</p></td>
- <td><input type="text" name="brugernavn" id="brugernavn" onblur="CheckUserName(this.value)"></td>
- <td><span id="availability_status"></span></td>
- </tr>
Da jeg gerne vil have at den checker brugernavn og email,
Det er sådan til brugernavn;
- function IsUserCreated($mysqli, $brugernavn){
- if($stmt = $mysqli->prepare("SELECT `id` FROM `bruger` WHERE `brugernavn` = ? ")){
- /* bind parameters for markers */
- $stmt->bind_param("s", $brugernavn);
- $stmt->execute();
- $stmt->bind_result($id);
- $stmt->fetch();
- $status = ($id >0) ? $id : 0;
- $stmt->close();
- }
- else $status = -1;
- return $status;
- }
- $conn=MySqlIConnOOP();
- $brugernavn = $_POST["brugernavn"];
- $status = IsUserCreated($conn, $brugernavn);
- echo ($status >0)? 1 : $status;
Ligger op i koden der er connect til databasen.
- function IsUserCreated($mysqli, $email){
- if($stmt = $mysqli->prepare("SELECT `id` FROM `bruger` WHERE `email` = ? ")){
- /* bind parameters for markers */
- $stmt->bind_param("s", $email);
- $stmt->execute();
- $stmt->bind_result($id);
- $stmt->fetch();
- $status = ($id >0) ? $id : 0;
- $stmt->close();
- }
- else $status = -1;
- return $status;
- }
- $conn=MySqlIConnOOP();
- $email = $_POST["email"];
- $status = IsUserCreated($conn, $email);
- echo ($status >0)? 1 : $status;
når jeg holder musen over den første del af html kode altså det her;
- <tr>
- <td><p>Email</p></td>
- <td><input type="email" name="email" id="email" onblur="CheckUserEmail(this.value)"></td>
- <td><span id="availability_status"></span></td>
- </tr>
og når jeg har skrevet email færdig så kommer den frem og siger om den er optaget eller ej. når men når jeg gik hen til brugernavn og skrive det færdig så gik boxen væk fra email om den sagde den er optaget eller ligne,
du er utroligt velkommen til at sige til hvis du ikke forstår eller ligne, og du gerne vil have jeg skal forklare det med billeder
ellers spørger mig
PS jeg kan ikke se problemet..