plastik77 Posted February 19, 2008 Share Posted February 19, 2008 I'm having a bit of a problem when trying to use stripslashes or stripslashes_deep to process form data. I was previously using a standard stripslashes function to strip $_POST arrays, however it turned out this was causing an error when i wanted to process multi dimensional arrays, so I removed the function temporarily. However, I now need to fix the issue as data being posted to my database is not posting properly - i.e St Columba's is cutting off at the apostrophe. To try and rectify this, I used the stripslashes_deep function, but this is still not sorting out my problem. Can anyone help? The stripslashes_deep function is as follows: function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } When I process the multi-dimensional array of posted form data, the code is as follows: //if a new fixture has been submitted if(isset($_POST['submit_this_weeks'])) { $count = count($_POST); $_POST = stripslashes_deep($_POST); for ($i=0; $i< $count; $i++){ $id = (int) $_POST['id'][$i]; $date = mysql_real_escape_string($_POST['date'][$i]); //process row as long as a date has been submitted if ($date!="") { $team = mysql_real_escape_string($_POST['team'][$i]); $opposition = mysql_real_escape_string($_POST['opposition'][$i]); $venue = mysql_real_escape_string($_POST['venue'][$i]); $kick_off = mysql_real_escape_string($_POST['kick_off'][$i]); $arrangements = mysql_real_escape_string($_POST['arrangements'][$i]); $sport_id = $_POST['sport_id'][$i]; $ref = getenv('HTTP_REFERER'); $validator->validateDate($date,'Date'); $validator->validateGeneral($opposition,'Opposition'); $validator->validateGeneral($venue,'Venue'); // Check whether the validator found any problems if ($validator->foundErrors()){ $error = "<h5 class='error'>Error! There was a problem with the following field(s): <br/>-".$validator->listErrors('<br/>-')."</h5>"; // Show the errors, with a line between each } else { //Use mysql_real_escape_string to escape special characters in a string for use in a SQL statement - makes statement safe $insertQuery = sprintf("INSERT INTO this_weeks_fixtures (date, team, opposition, venue, kick_off, arrangements, sport_id, creator) VALUES ('%s', '%s','%s','%s','%s', '%s', %d, %d)", $date, $team, $opposition, $venue, $kick_off, $arrangements, $sport_id, $_SESSION['user_id']); // Save the form data into the database if (!$result = $connector->query($insertQuery)){ // It hasn't worked so stop. $message = "<h5>Sorry, there was an error saving to the database</h5>"; break; } else { $message = "<h4>Fixtures successfully added</h4>"; } } } } } Link to comment https://forums.phpfreaks.com/topic/91860-help-with-stripslashes_deep/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.