Forum Moderators: open
function init(input_value, input_name) {
var ajax = getXMLHttpRequestObject();
if(ajax){
if(input_name == 'username'){
ajax.open("get", "avail_querydb.php?username="+encodeURIComponent(input_value));
ajax.onreadystatechange = function(){
handleResponse(ajax, 'username');
}
ajax.send(null);
return false;
}...
function handleResponse(ajax, target_label){
d = document;
if(ajax.readyState ==4){
if((ajax.status == 200) || (ajax.status == 304)){
if (ajax.responseText == 'not available') {
switch (target_label){
case 'username':
document.form.avail_entry_form.username_label.value = 'username not available';
break;
case 'email':
document.form.avail_entry_form.email_label.value = 'email not available'
break;
}
}
}
} else {//Bad status response :: submit the form
//document.getElementById('avail_entry_form').submit();
}
}
<?php
...
$resultBack = 'available';
if (isset( $_GET["username"])) {
$username = $_GET["username"];
$sql = "SELECT username FROM users WHERE username = '$username'";
if($result = $mysqli->query($sql)) $resultBack = 'not available';
}
if (isset( $_GET["email"])) {
$email = $_GET["email"];
$sql = "SELECT username FROM users WHERE email = '$email'";
if($result = $mysqli->query($sql)) $resultBack = 'not available';
}
$mysqli->close;
echo $resultBack;
?>
<?php
ini_set("include_path","./includes");
require_once('mysqli.avail.inc.php');
$username = strip_tags(trim($_GET['username']));
if (!empty($username)) {
$sql = "SELECT username FROM users WHERE username = '$username'";
if($result = $mysqli->query($sql)) $resultsBack = 'not available';
}
echo $resultsBack;
?>
I experimented with removing the ini_set and using the absolute path in the require_once but that was not the problem; also, you see that I've used strip_tags and trim, but again I do not believe that added anything to resolving the mystery of the chars being appended to $resultsBack.
document.getElementById('username_label').value = 'username not available'
function handleResponse(ajax, target_label){
d = document;
if(ajax.readyState ==4){ <<<HERE THE VALUE IN THE FORM IS SET
if((ajax.status == 200) || (ajax.status == 304)){
if (ajax.responseText == 'not available') {
switch (target_label){
case 'username':
d.getElementById('username_label').innerHTML = 'username not available';
break;
case 'email':
d.getElementById('email_label').value = 'email not available'
break;
}
}
}
} else {//Bad status response :: submit the form
//document.getElementById('avail_entry_form').submit();
}
}
if (isset( $_GET["username"])) {
$username = $_GET["username"];
$sql = "SELECT username FROM users WHERE username = '$username'";
<?php
ini_set("include_path","./includes");
require_once('mysqli.avail.inc.php');
$username = strip_tags(trim($_GET['username']));
if (!empty($username)) {
$sql = "SELECT username FROM users WHERE username = '$username'";
if($result = $mysqli->query($sql)) $resultsBack = 'not available';
}
echo $resultsBack;
?>
<?php
ini_set("include_path","./includes");
require_once('mysqli.avail.inc.php');
$resultsBack = 'available';
if(isset($_GET['username'])) {
$username = strip_tags(trim($_GET['username']));
$username = $mysqli->real_escape_string($username);
}
//***1 THIS WORKS EVERYTIME
if (!empty($username)) {
$sql = "SELECT username FROM users WHERE username = '$username'";
$result = $mysqli->query($sql);
$row_cnt = $result->num_rows;
if($row_cnt>0) {
echo $resultsBack = 'not available';
} else {
echo $resultsBack = 'available';
}
}
//***2 THIS FAILS EVERYTIME ***
//if (!empty($username)) {
//$sql = "SELECT username FROM users WHERE username = '$username'";
//if($result = $mysqli->query($sql)) echo $resultsBack = 'not available';
//}
?>
<?php
ini_set("include_path","./includes");
require_once('mysqli.avail.inc.php');
$username = 'nyteshade';
echo ' username: '.$username;
if (!empty($username)) {
$sql = "SELECT username FROM users WHERE username = '$username'";
if ($result = $mysqli->query($sql)) {
printf("\nSelect returned %d rows.\n", $result->num_rows);
}
}
?>
username: nyteshade Select returned 1 rows.