1

I've written a custom plugin to send data via a form to a personal database, different from the WP one. Everything is working fine except the fact that when you write a name, for example D'ALESSANDRO, it's saved as D\'ALESSANDRO.

POSSIBLE SOLUTION:

It seems that adding stripslashes_deep() before $_POST is working.

$custom_field = sanitize_text_field(stripslashes_deep($_POST[custom_field]))

Can this be unsafe?

This is how I'm sending data to database:

$custom_field = sanitize_text_field($_POST[custom_field])
if ( count($reg_errors->get_error_messages()) < 1) {
    $userdata = array(
    ........
    'id_locality'   =>  $custom_field
    ........
    );
    $where_data = array(
      .......wherefield...........
    );
    $pldb = new wpdb('user', 'pwd', 'db', 'localhost');
    $update_table = $pldb->update('table',$userdata,$where_data);

I need to save data into the database without the "\", I can't sort this when printing it.

How can I do this?

6
  • Use stripslashes() function after reading the data it will remove the extra slashes.
    – M-R
    Commented Mar 24, 2015 at 10:34
  • First of all thanks for the reply. You mean, save data with salshes into the database, and then use stripslashes() when printing data to the php page? In this case, I can't do this, for various reasons data has to be saved in the database directly without the extra slashes. Commented Mar 24, 2015 at 10:37
  • To explain, I can send data to this database also via another form which uses htmlpurifier, and it's saving data into the database without the slashes, I need data to be saved in the same way. Commented Mar 24, 2015 at 10:42
  • Noticed that the other form also uses $this->db->escape, it's a codeigniter function. I need to do things like this with a wordpress form, is this possible? Commented Mar 24, 2015 at 11:00
  • Post updated with possible solution! Commented Mar 24, 2015 at 11:14

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.