gymBob Posted June 9, 2008 Share Posted June 9, 2008 I am new to PHP and having a problem that I cannot find an answer to. When submitting a form and using $_SERVER['PHP_SELF'] for example, http://www.edgdwcs3.com/workfiles/ch14/feedback.php, the URL returned is http://www.edgdwcs3.com/workfiles/ch14/feedback.php/workfiles/ch14/feedback.php? . When I run a phpinfo(); in a file named info.php the PHP variables section shows _SERVER["PHP_SELF"]=/info.php/info.php. Does anyone know if this is normal and I'm missing something or am I doing something, or have something configured, wrong? Thanks in advance, gymBob Link to comment https://forums.phpfreaks.com/topic/109410-bad-url-returned-by-php/ Share on other sites More sharing options...
kenrbnsn Posted June 9, 2008 Share Posted June 9, 2008 Please post the code you're using. Ken Link to comment https://forums.phpfreaks.com/topic/109410-bad-url-returned-by-php/#findComment-561213 Share on other sites More sharing options...
gymBob Posted June 9, 2008 Author Share Posted June 9, 2008 Here is the code, i'm kinda new to forums and i'm not sure how much code to post so i posted it all. <!-- <?php require_once('../../Connections/connAdmin.php'); ?> <?php // if form has been submitted, convert $_POST subarrays to strings if (array_key_exists('send', $_POST)) { if (isset($_POST['interests'])) { $_POST['interests'] = implode(',', $_POST['interests']); } else { $_POST['interests'] = ''; } if (isset($_POST['views'])) { $_POST['views'] = implode(',', $_POST['views']); } else { $_POST['views'] = ''; } } ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO feedback (name, email, comments, interests, visited, views, subscribe) VALUES (%s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['name'], "text"), GetSQLValueString($_POST['email'], "text"), GetSQLValueString($_POST['comments'], "text"), GetSQLValueString($_POST['interests'], "text"), GetSQLValueString($_POST['visited'], "text"), GetSQLValueString($_POST['views'], "text"), GetSQLValueString($_POST['subscribe'], "text")); mysql_select_db($database_connAdmin, $connAdmin); $Result1 = mysql_query($insertSQL, $connAdmin) or die(mysql_error()); } ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Contact form</title> <link href="../styles/contact.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>Contact Us</h1> <p>We welcome feedback from visitors to our site. Please use the following form to let us know what you think about it.</p> <form action="<?php echo $editFormAction; ?>" method="POST" name="form1" id="form1"> <fieldset> <legend>Your details</legend> <p> <label for="name">Name: <?php if (isset($missing) && in_array('name', $missing)) { ?> <span class="warning">Please enter your name</span><?php } ?> </label> <input name="name" type="text" class="textInput" id="name" <?php if (isset($missing)) { echo 'value="'.htmlentities($_POST['name']).'"'; } ?> /> </p> <p> <label for="email">Email:</label> <input name="email" type="text" class="textInput" id="email" <?php if (isset($missing)) { echo 'value="'.htmlentities($_POST['email']).'"'; } ?> /> </p> </fieldset> <fieldset> <legend>Your views</legend> <p> <label for="comments">Comments: <?php if (isset($missing) && in_array('comments', $missing)) { ?> <span class="warning">Please enter your comments</span><?php } ?> </label> <textarea name="comments" id="comments" cols="45" rows="5"><?php if (isset($missing)) { echo htmlentities($_POST['comments']); } ?></textarea> </p> <p><strong>What aspects of London most interest you?</strong></p> <div class="chkRad"> <p> <input type="checkbox" name="interests[]" id="interests-classical" value="Classical concerts" <?php $OK = isset($_POST['interests']) ? true : false; if ($OK && isset($missing) && in_array('Classical concerts', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-classical">Classical concerts</label> </p> <p> <input name="interests[]" type="checkbox" id="interests-rock" value="Rock/pop" <?php if ($OK && isset($missing) && in_array('Rock/pop', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-rock">Rock/pop events</label> </p> <p> <input name="interests[]" type="checkbox" id="interests-drama" value="Drama" <?php if ($OK && isset($missing) && in_array('Drama', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-drama">Drama</label> </p> </div> <div class="chkRad"> <p> <input name="interests[]" type="checkbox" id="interests-walks" value="Guided walks" <?php if ($OK && isset($missing) && in_array('Guided walks', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-walks">Guided walks</label> </p> <p> <input name="interests[]" type="checkbox" id="interests-art" value="Art" <?php if ($OK && isset($missing) && in_array('Art', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-art">Art</label> </p> </div> <p class="clearIt"> <label for="visited">How often have you been to London? <?php if (isset($missing) && in_array('visited', $missing)) { ?> <span class="warning">Please select a value</span><?php } ?></label> <select name="visited" id="visited"> <option value="0" <?php if (!$_POST || $_POST['visited'] == '0') { echo 'selected="selected"'; } ?> >-- Select one --</option> <option value="Never" <?php if (isset($missing) && $_POST['visited'] == 'Never') { echo 'selected="selected"'; } ?> >Never been</option> <option value="1-2 times" <?php if (isset($missing) && $_POST['visited'] == '1-2 times') { echo 'selected="selected"'; } ?> >Once or twice</option> <option value="Not yearly" <?php if (isset($missing) && $_POST['visited'] == 'Not yearly') { echo 'selected="selected"'; } ?> >Less than once a year</option> <option value="Yearly" <?php if (isset($missing) && $_POST['visited'] == 'Yearly') { echo 'selected="selected"'; } ?> >I go most years</option> <option value="Live/work" <?php if (isset($missing) && $_POST['visited'] == 'Live/work') { echo 'selected="selected"'; } ?> >I live/work there</option> </select> </p> <p> <label for="views">What image do you have of London?</label> <select name="views[]" size="6" multiple="multiple" id="views"> <option value="Vibrant/exciting" <?php $OK = isset($_POST['views']) ? true : false; if ($OK && isset($missing) && in_array('Vibrant/exciting', $_POST['views'])) { echo 'selected="selected"'; } ?> >A vibrant, exciting city</option> <option value="Good food" <?php if ($OK && isset($missing) && in_array('Good food', $_POST['views'])) { echo 'selected="selected"'; } ?> >A great place to eat</option> <option value="Good transport" <?php if ($OK && isset($missing) && in_array('Good transport', $_POST['views'])) { echo 'selected="selected"'; } ?> >Convenient transport</option> <option value="Dull" <?php if ($OK && isset($missing) && in_array('Dull', $_POST['views'])) { echo 'selected="selected"'; } ?> >Dull, dull, dull</option> <option value="Bad food" <?php if ($OK && isset($missing) && in_array('Bad food', $_POST['views'])) { echo 'selected="selected"'; } ?> >The food's rotten</option> <option value="Transport nightmare" <?php if ($OK && isset($missing) && in_array('Transport nightmare', $_POST['views'])) { echo 'selected="selected"'; } ?> >A transport nightmare</option> </select> </p> <p><strong>Would you like to receive regular details of events in London?</strong></p> <div class="chkRad"> <p> <input type="radio" name="subscribe" id="subscribe-yes" value="y" <?php if (isset($missing) && $_POST['subscribe'] == 'y') { echo 'checked="checked"'; } ?> /> <label for="subscribe-yes">Yes</label> <input name="subscribe" type="radio" id="subscribe-no" value="n" <?php if (!isset($missing) || isset($missing) && $_POST['subscribe'] == 'n') { echo 'checked="checked"'; } ?> /> <label for="subscribe-no">No</label> </p> </div> <p> </p> <p class="clearIt"> <input type="submit" name="send" id="send" value="Send comments" /> </p> </fieldset> <input type="hidden" name="MM_insert" value="form1" /> </form> </body> </html> --> Link to comment https://forums.phpfreaks.com/topic/109410-bad-url-returned-by-php/#findComment-561486 Share on other sites More sharing options...
DarkWater Posted June 9, 2008 Share Posted June 9, 2008 Please put that in code tags quickly before you can't modify your post. D: Link to comment https://forums.phpfreaks.com/topic/109410-bad-url-returned-by-php/#findComment-561492 Share on other sites More sharing options...
jonsjava Posted June 9, 2008 Share Posted June 9, 2008 cleaned up version. <?php /*require_once('../../Connections/connAdmin.php'); */?> <?php // if form has been submitted, convert $_POST subarrays to strings if (array_key_exists('send', $_POST)) { if (isset($_POST['interests'])) { $_POST['interests'] = implode(',', $_POST['interests']); } else { $_POST['interests'] = ''; } if (isset($_POST['views'])) { $_POST['views'] = implode(',', $_POST['views']); } else { $_POST['views'] = ''; } } ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $editFormAction = basename($_SERVER['PHP_SELF']); $form_action = explode("?", $editFormAction); $editFormAction = $form_action[0]; if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO feedback (name, email, comments, interests, visited, views, subscribe) VALUES (%s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['name'], "text"), GetSQLValueString($_POST['email'], "text"), GetSQLValueString($_POST['comments'], "text"), GetSQLValueString($_POST['interests'], "text"), GetSQLValueString($_POST['visited'], "text"), GetSQLValueString($_POST['views'], "text"), GetSQLValueString($_POST['subscribe'], "text")); mysql_select_db($database_connAdmin, $connAdmin); $Result1 = mysql_query($insertSQL, $connAdmin) or die(mysql_error()); } ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Contact form</title> <link href="../styles/contact.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>Contact Us</h1> <p>We welcome feedback from visitors to our site. Please use the following form to let us know what you think about it.</p> <form action="<?php echo $editFormAction; ?>" method="POST" name="form1" id="form1"> <fieldset> <legend>Your details</legend> <p> <label for="name">Name: <?php if (isset($missing) && in_array('name', $missing)) { ?> <span class="warning">Please enter your name</span><?php } ?> </label> <input name="name" type="text" class="textInput" id="name" <?php if (isset($missing)) { echo 'value="'.htmlentities($_POST['name']).'"'; } ?> /> </p> <p> <label for="email">Email:</label> <input name="email" type="text" class="textInput" id="email" <?php if (isset($missing)) { echo 'value="'.htmlentities($_POST['email']).'"'; } ?> /> </p> </fieldset> <fieldset> <legend>Your views</legend> <p> <label for="comments">Comments: <?php if (isset($missing) && in_array('comments', $missing)) { ?> <span class="warning">Please enter your comments</span><?php } ?> </label> <textarea name="comments" id="comments" cols="45" rows="5"><?php if (isset($missing)) { echo htmlentities($_POST['comments']); } ?></textarea> </p> <p><strong>What aspects of London most interest you?</strong></p> <div class="chkRad"> <p> <input type="checkbox" name="interests[]" id="interests-classical" value="Classical concerts" <?php $OK = isset($_POST['interests']) ? true : false; if ($OK && isset($missing) && in_array('Classical concerts', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-classical">Classical concerts</label> </p> <p> <input name="interests[]" type="checkbox" id="interests-rock" value="Rock/pop" <?php if ($OK && isset($missing) && in_array('Rock/pop', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-rock">Rock/pop events</label> </p> <p> <input name="interests[]" type="checkbox" id="interests-drama" value="Drama" <?php if ($OK && isset($missing) && in_array('Drama', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-drama">Drama</label> </p> </div> <div class="chkRad"> <p> <input name="interests[]" type="checkbox" id="interests-walks" value="Guided walks" <?php if ($OK && isset($missing) && in_array('Guided walks', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-walks">Guided walks</label> </p> <p> <input name="interests[]" type="checkbox" id="interests-art" value="Art" <?php if ($OK && isset($missing) && in_array('Art', $_POST['interests'])) { echo 'checked="checked"'; } ?> /> <label for="interests-art">Art</label> </p> </div> <p class="clearIt"> <label for="visited">How often have you been to London? <?php if (isset($missing) && in_array('visited', $missing)) { ?> <span class="warning">Please select a value</span><?php } ?></label> <select name="visited" id="visited"> <option value="0" <?php if (!$_POST || $_POST['visited'] == '0') { echo 'selected="selected"'; } ?> >-- Select one --</option> <option value="Never" <?php if (isset($missing) && $_POST['visited'] == 'Never') { echo 'selected="selected"'; } ?> >Never been</option> <option value="1-2 times" <?php if (isset($missing) && $_POST['visited'] == '1-2 times') { echo 'selected="selected"'; } ?> >Once or twice</option> <option value="Not yearly" <?php if (isset($missing) && $_POST['visited'] == 'Not yearly') { echo 'selected="selected"'; } ?> >Less than once a year</option> <option value="Yearly" <?php if (isset($missing) && $_POST['visited'] == 'Yearly') { echo 'selected="selected"'; } ?> >I go most years</option> <option value="Live/work" <?php if (isset($missing) && $_POST['visited'] == 'Live/work') { echo 'selected="selected"'; } ?> >I live/work there</option> </select> </p> <p> <label for="views">What image do you have of London?</label> <select name="views[]" size="6" multiple="multiple" id="views"> <option value="Vibrant/exciting" <?php $OK = isset($_POST['views']) ? true : false; if ($OK && isset($missing) && in_array('Vibrant/exciting', $_POST['views'])) { echo 'selected="selected"'; } ?> >A vibrant, exciting city</option> <option value="Good food" <?php if ($OK && isset($missing) && in_array('Good food', $_POST['views'])) { echo 'selected="selected"'; } ?> >A great place to eat</option> <option value="Good transport" <?php if ($OK && isset($missing) && in_array('Good transport', $_POST['views'])) { echo 'selected="selected"'; } ?> >Convenient transport</option> <option value="Dull" <?php if ($OK && isset($missing) && in_array('Dull', $_POST['views'])) { echo 'selected="selected"'; } ?> >Dull, dull, dull</option> <option value="Bad food" <?php if ($OK && isset($missing) && in_array('Bad food', $_POST['views'])) { echo 'selected="selected"'; } ?> >The food's rotten</option> <option value="Transport nightmare" <?php if ($OK && isset($missing) && in_array('Transport nightmare', $_POST['views'])) { echo 'selected="selected"'; } ?> >A transport nightmare</option> </select> </p> <p><strong>Would you like to receive regular details of events in London?</strong></p> <div class="chkRad"> <p> <input type="radio" name="subscribe" id="subscribe-yes" value="y" <?php if (isset($missing) && $_POST['subscribe'] == 'y') { echo 'checked="checked"'; } ?> /> <label for="subscribe-yes">Yes</label> <input name="subscribe" type="radio" id="subscribe-no" value="n" <?php if (!isset($missing) || isset($missing) && $_POST['subscribe'] == 'n') { echo 'checked="checked"'; } ?> /> <label for="subscribe-no">No</label> </p> </div> <p> </p> <p class="clearIt"> <input type="submit" name="send" id="send" value="Send comments" /> </p> </fieldset> <input type="hidden" name="MM_insert" value="form1" /> </form> </body> </html> Link to comment https://forums.phpfreaks.com/topic/109410-bad-url-returned-by-php/#findComment-561505 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.