Solved

php strip apostrophes

Posted on 2006-11-15
8
1,269 Views
Last Modified: 2009-12-16
Is there a way to put something above a file to strip '  from all forms and then be able to use the HTTP_POST_VARS later on?
0
Comment
Question by:jackjohnson44
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 2
8 Comments
 
LVL 19

Expert Comment

by:VoteyDisciple
ID: 17949912
Yes, but I strongly suspect there's a more direct way of solving the problem you're facing.  What IS the original problem you're facing?

Meanwhile, this will do what you've asked:

function inexplicably_remove_single_quotes(/* string */ $s) {
    return str_replace("'", '', $s);
}

$_POST = array_map($_POST, $s);

(Though I've here used the more up-to-date $_POST you could do the same thing with $HTTP_POST_VARS if necessary.)
0
 
LVL 19

Expert Comment

by:VoteyDisciple
ID: 17949933
Heh, no that won't; that won't do anything at all.  THIS would do it:

$_POST = array_map($_POST, 'inexplicably-remove_single_quotes');
0
 

Expert Comment

by:choosebooks
ID: 17951706
Are you familiar with addslashes()?  This will escape all your quotes.  
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 19

Expert Comment

by:VoteyDisciple
ID: 17951720
Well, the way to handle quotes depends on where they're going.  If into a MySQL database then mysql_real_escape_string() would be more appropriate.  If into an HTML page then htmlentities() would be more appropriate.  addslashes() is a generic way of escaping, but often isn't the right way.
0
 

Author Comment

by:jackjohnson44
ID: 17966165
I am posting the page back to itself, and the form repopulates.
If it posts back and it has a quote, it will keep putting slashes in the text box.
I totally want to turn them off and if I need them I can add them myself.
Is there a way to turn it off?
0
 
LVL 19

Expert Comment

by:VoteyDisciple
ID: 17966207
Yes, it's an option in php.ini -- see http://www.php.net/manual/en/security.magicquotes.disabling.php

If you're on a server where you can't control php.ini, the code I posted is a workaround: it just takes the slashes back out after PHP adds them.  It's annoying, yes, but once you've done it the effect is as though PHP never poked its head into it in the first place.
0
 

Author Comment

by:jackjohnson44
ID: 17966262
Is this what you are talking about?
$_POST = array_map($_POST, 'inexplicably-remove_single_quotes');

Can I just put it in an include file?

What does this mean: inexplicably-remove_single_quotes

Does this do anything to: HTTP_POST_VARS?

This is what I want to change.

0
 
LVL 19

Accepted Solution

by:
VoteyDisciple earned 500 total points
ID: 17966397
Wait, wait, that's not quite right: you don't want to remove QUOTES, you want (and this sounds like a much more reasonable plan to me) to just remove ESCAPING of quotes.

For that just use stripslashes().

$HTTP_POST_VARS = array_map($HTTP_POST_VARS, 'stripslashes');


The inexplicably_remove_single_quotes (see my first comment for the definition of that function) actually removed the QUOTES, which is what you first asked.  To just undo the escaping all you need is the built-in stripslashes function.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question