hpughLW Posted April 15, 2006 Share Posted April 15, 2006 I keep getting an error message with this script. What seems to be the problem? PHP is very new to me, so I appreciate anyone who can help me! The database name, table name, username and password have all been replaced with dummies, FYI.<?//check for required query string variablesif (!$_GET[id]) { header("Location:http://localhost/contact_menu.php"); exit;} else { //if form variables are present,start a session session_start();}//check for validity of userif ($_SESSION[valid] != "yes") { header("Location:http://localhost/contact_menu.php"); exit;}//set up table and database names$db_name ="testDB";$table_name ="my_contacts";//connect to server and select database$connection = @mysql_connect("localhost","username","password") or die(mysql_error());$db = @mysql_select_db($db_name,$connection) or die(mysql_error());//build and issue query$chk_id = "SELECT id FROM $table_name WHERE id ='$_GET[id]'";$chk_id_res = @mysql_query($chk_id,$connection) or die(mysql_error());$chk_id_num = mysql_num_rows($chk_id_res);//check for valid resultsif ($chk_id_num !=1){ //if not valid,redirect to menu header("Location:http://localhost/contact_menu.php"); exit; } else { //if valid,get information $sql ="SELECT media_outlet, media_type, f_name, l_name, title, email, phone, cell, fax, notes FROM $table_name WHERE id ='$_GET[id]'"; $result = @mysql_query($sql,$connection) or die(mysql_error()); //get results for display while ($row =mysql_fetch_array($result)) { $media_outlet = $row['media_outlet']; $media_type = $row['media_type']; $f_name = $row['f_name']; $l_name = $row['l_name']; $title = $row['title']; $email = $row['email']; $phone = $row['phone']; $cell = $row['cell']; $fax = $row['fax']; $notes = $row['notes']; }}?><HTML><HEAD><TITLE>Media Database: Read-Only Contact Details</TITLE></HEAD><BODY><h1>Media Database</h1><h2>Contact Details for <? echo "$f_name $l_name"; ?></h2><P><strong>Name & Media Information:</strong><br><? echo "$f_name $l_name"; ?><br><? echo "$title"; ?><br><? echo "$media_outlet"; ?><br><? echo "$media_type"; ?><br><? echo "<a href=\"mailto:$email\">$email"; ?><br><? echo "$phone"; ?><br><? echo "$cell"; ?><br><? echo "$notes"; ?><br></P><p><a href="contact_menu.php">Return to Main Menu</a></p></BODY></HTML> Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/ Share on other sites More sharing options...
AndyB Posted April 16, 2006 Share Posted April 16, 2006 OK, so what's the error message? Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27355 Share on other sites More sharing options...
hpughLW Posted April 16, 2006 Author Share Posted April 16, 2006 [!--quoteo(post=365187:date=Apr 15 2006, 08:10 PM:name=AndyB)--][div class=\'quotetop\']QUOTE(AndyB @ Apr 15 2006, 08:10 PM) [snapback]365187[/snapback][/div][div class=\'quotemain\'][!--quotec--]OK, so what's the error message?[/quote]This page cannot be displayed. Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27356 Share on other sites More sharing options...
AndyB Posted April 16, 2006 Share Posted April 16, 2006 [a href=\"http://localhost/contact_menu.php\" target=\"_blank\"]http://localhost/contact_menu.php[/a] is the only page that wouldn't be displayed. Are you sure it exists with that name in that folder? Personally, I'd change the redirect to a relative page address so when the script is uploaded to the server it'll still work as expected. Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27358 Share on other sites More sharing options...
hpughLW Posted April 16, 2006 Author Share Posted April 16, 2006 Yes, that address actually exists and works.What do you mean by a relative page address? Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27360 Share on other sites More sharing options...
AndyB Posted April 16, 2006 Share Posted April 16, 2006 [!--quoteo(post=365192:date=Apr 15 2006, 08:33 PM:name=hpughLW)--][div class=\'quotetop\']QUOTE(hpughLW @ Apr 15 2006, 08:33 PM) [snapback]365192[/snapback][/div][div class=\'quotemain\'][!--quotec--]What do you mean by a relative page address?[/quote]This link explains ... [a href=\"http://www.thuto.org/ubh/web/html/relad1.htm\" target=\"_blank\"]http://www.thuto.org/ubh/web/html/relad1.htm[/a]In your case, if contact_menu.php is in the same folder as the script with the problem, then this will work [relative address][code]header("Location: contact_menu.php");[/code] Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27362 Share on other sites More sharing options...
hpughLW Posted April 16, 2006 Author Share Posted April 16, 2006 Ok, I tried that, but now the page with the problems links back to the main page (/contact_menu.php) instead of showing the contact's information. I think you can gather by the code I showed you that this particular page is supposed to show the address book information typed into the table. Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27364 Share on other sites More sharing options...
Barand Posted April 16, 2006 Share Posted April 16, 2006 So have you checked that your queries are behaving as expected?I'd start with the id checktry//build and issue query$chk_id = "SELECT id FROM $table_name WHERE id ='$_GET[id]'";$chk_id_res = @mysql_query($chk_id,$connection) or die(mysql_error());$chk_id_num = mysql_num_rows($chk_id_res);[!--coloro:#3366FF--][span style=\"color:#3366FF\"][!--/coloro--]exit ("$check_id <br> $chk_id_num"); // <---- temp code to check query[!--colorc--][/span][!--/colorc--] //check for valid resultsif ($chk_id_num !=1){//if not valid,redirect to menuheader("Location:http://localhost/contact_menu.php");exit; Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27431 Share on other sites More sharing options...
hpughLW Posted April 16, 2006 Author Share Posted April 16, 2006 It still says this page cannot be displayed. Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27448 Share on other sites More sharing options...
AndyB Posted April 16, 2006 Share Posted April 16, 2006 Suggestions.First, I assume that id is sent to this page from a page (contact_menu.php presumably) which contains a form using the method="get" since your commented code suggests checking form values. If the form uses method="post" the $_GET array value will always be absent.Second, there's no way to tell at which stage the script tries to find a page that doesn't exist. For debugging purposes I'd suggest changing each instance of the header/location function to something simple like:[code]echo "failed at line whatever";exit;[/code]At least then you'll know what's causing it to fail.Third, add Barand's check in your script.And if a page can't be found, then the script is looking for a file that doesn't exist with the name you expect in the location you expect. Quote Link to comment https://forums.phpfreaks.com/topic/7515-whats-wrong-with-this-code/#findComment-27456 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.