
wadesmart
Members-
Posts
10 -
Joined
-
Last visited
wadesmart's Achievements
Newbie (1/14)
0
Reputation
-
Ive been using what Ive learned this book for a long time now but Im stumped on something. I have a situation where I can not use a drop down list so I was going to use a links instead. link: href="index.php?p=performances?performance=Life_After_50" Im stumped as how to handle this code. In the index.php page I see the code: //Validate what page to show if(isset($_GET['p'])){ $p = $_GET['p']; } else if( isset($_POST['p'])) { //form $p = $_POST['p']; } else { $p = NULL; } But how does the page get redirected back to the performances.inc.php to access the performance variable data Life After 50?
-
Hartley, Im working with the code right out of the book that this forum is named after: //add_employee.js window.onload = init; function init(){ var ajax = getXMLHttpRequestObject(); if(ajax){ if(document.getElementById('results')){ document.getElementById('emp_form').onsubmit = function(){ ajax.open('post', 'add_employee_xml.php'); ajax.onreadystatechange = function() { handleResponse(ajax); } var fields = ['first_name', 'last_name', 'email', 'department_id', 'phone_ext']; for(var i = 0; i < fields.length; i++){ fields[i] = fields[i] + '=' + encodeURIComponent(document.getElementById(fields[i]).value); } var values = fields.join('&'); //alert(values); ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); ajax.send(values); return false; } } } } function handleResponse(ajax){ if(ajax.readyState == 4){ if((ajax.status == 200) || (ajax.status == 304)) { var results = document.getElementById('results'); document.getElementById('first_name_label').className = 'title'; document.getElementById('last_name_label').className = 'title'; document.getElementById('email_label').className = 'title'; document.getElementById('department_id_label').className = 'title'; document.getElementById('phone_ext_label').className = 'title'; var data = ajax.responseXML; alert(data); var message = data.getElementsByTagName('result'); var errors = data.getElementsByTagName('error'); var temp = false; for(var i=0; i < errors.length; i++){ temp = errors[i].firstChild.nodeValue; document.getElementById(temp + '_label').className = 'error'; } results.innerHTML = message[0].firstChild.nodeValue; results.style.display = 'block'; } else { document.getElementById('emp_form').submit(); } } } and then the page its calling: <!--?php #add_employee_xml.php header("Content-Type=text/xml"); echo '<?xml version="1.0" encoding="utf-8" standalone="yes" ?--> <response> '; require_once('mysql.inc.php'); $error = false; if(!empty($_POST['first_name'])){ $fn = mysql_real_escape_string($_POST['first_name'], $dbc); } else { $error = true; echo '<error>first_name</error> '; } if(!empty($_POST['last_name'])){ $ln = mysql_real_escape_string($_POST['last_name'], $dbc); } else { $error = true; echo '<error>last_name</error> '; } if(!empty($POST['email'])){ $e = mysql_real_escape_string($_POST['email'], $dbc); } else { $error = true; echo '<error>email</error> '; } if(isset($_POST['department_id']) && is_numeric($_POST['department_id']) && ($_POST['department_id'] > 0)){ $did = (int) $_POST['department_id']; } else { $error = true; echo '<error>department_id</error> '; } if(isset($_POST['phone_ext']) && is_numeric($_POST['phone_ext']) && ($_POST['phone_ext'] > 0)) { $ext = (int) $_POST['phone_ext']; } else { $error = true; echo '<error>phone_ext</error> '; } // no errors if(!$error){ $query = "INSERT INTO employees (department_id, first_name, last_name, email, phone_ext) VALUES (NULL, $did, '$fn', '$ln', '$e', $ext)"; $result = mysql_query($query, $dbc); if(mysql_affected_rows($dbc) == 1){ echo '<result>The employee has been added.</result> '; } else { echo '<result>The employee could not be added due to a system error.</result> '; } } else { echo '<result>Please correct problems with the highlighted field(s) below.</result> '; } mysql_close($dbc); echo '</response> '; ?> I went back through and put the '; on a new line just like in the book thinking maybe it had to be that way to not mess up the xml.
-
var errors = data.getElementsByTagName('error'); When I run the page my Firefox error console says: data is null add_employee.js line 44 -> which is the above line. I checked my code against that downloaded from the site and found no errors so I ran the code from the site and had the same issue. Ive been going over the code to see if I understand what is happening but I just dont understand js enough and what could be causing the errors. wade