ID: 13953
Updated by: cardinal
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Bogus
Bug Type: Arrays related
Operating System: Free BSD 4.2
PHP Version: 4.0.4pl1
New Comment:
I can't reproduce any part of this bug report on 4.0.6. My $HTTP_POST_VARS matches
jeroen's exactly for the product description script, and the following script does not
translate html entities from their user-entered value.
<form method="post" action="<?= $PHP_SELF ?>" enctype="multipart/form-data">
<textarea name="text" wrap="virtual"><?=
htmlentities($HTTP_POST_VARS['text'])?></textarea>
<br><input type="submit" value="Submit multipart">
</form>
<form method="post" action="<?= $PHP_SELF ?>">
<textarea name="text" wrap="virtual"><?=
htmlentities($HTTP_POST_VARS['text'])?></textarea>
<br><input type="submit" value="Submit not multipart">
</form>
<?
if (count($HTTP_POST_VARS))
{
echo '<pre>';
print_r($HTTP_POST_VARS);
echo '</pre>';
}
?>
I suggest taking this up on a support forum ([EMAIL PROTECTED],
#php on irc.php.net) if it's still an issue.
Previous Comments:
------------------------------------------------------------------------
[2001-11-07 09:12:27] [EMAIL PROTECTED]
I get the same output with both var_dump($HTTP_POST_VARS) and
print_r($HTTP_POST_VARS): "InfoID" is missing from $HTTP_POST_VARS when I submit the
form. The strange thing about this problem is that I can't reproduce it on earlier
versions of PHP.
Perhaps, we should look at the broader question of how PHP deals with HTML entities.
I just placed the following text in the textarea box of the form:
This is a • test.
When the form is submitted, the script inserts the content into a "text" field in a
MySQL (v. 3.23.33) database. I checked the record through phpMyAdmin and found that
the field held exactly what I submitted. No surprises there.
However, when I updated the record, my line of text was changed to:
This is a • test.
In other words, the representation of the HTML entity was changed from • to
•, either by PHP or MySQL.
This transformation seems to be the source of my problems. Any ideas what's going on?
P.S. -- The MySQL gurus argue that this is a PHP problem.
------------------------------------------------------------------------
[2001-11-06 17:16:22] [EMAIL PROTECTED]
With 4.0.3pl1, I cannot reproduce.
Use var_dump($HTTP_POST_VARS) to check out what vars are submitted and which are not.
I get:
HTTP_POST_VARS:
array(4) {
["InfoID"]=>
string(2) "67"
["InfoTitle"]=>
string(8) "Product2"
["InfoText"]=>
string(196) "Blah blah blah blah? Blah blah blah
blah� Blah blah blah blah.
Blah blah blah blah�. Blah blah blah blah.
Blah blah blah blah�. Blah blah blah blah;"
["option"]=>
string(6) "Modify"
}
HTTP_GET_VARS:
array(1) {
["selection"]=>
string(11) "Description"
}
------------------------------------------------------------------------
[2001-11-06 16:43:22] [EMAIL PROTECTED]
Below is a stripped-down version of the form that causes the problems. Note that
values have been inserted into the form fields, including HTML entities in the
"InfoText" field. When I click the "Modify" button, "InfoID" does not show up in
$HTTP_POST_VARS.
Thanks.
<html>
<head>
<title>Administration Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="index.html?selection=Description" method="post"
enctype="multipart/form-data">
<p>
<b>Select an Existing Product Description Title</b><br>
<SELECT NAME="InfoID">
<option value="0">Click On a Product Description</option>
<option value="63">Product1</option>
<option value="67" selected>Product2</option>
<option value="69">Product3</option>
<option value="55">Product4</option>
<option value="65">Product5</option>
</select>
<input type="submit" name="option" value="Find">
</p>
<p>
<b>Product Description Title/Headline</b><br>
<input type="text" name="InfoTitle" size="30" maxlength="200" value="Product2">
</p>
<p>
<b>Product Description Text</b><br>
<textarea name="InfoText" cols="40" rows="10" wrap="VIRTUAL">Blah blah blah blah? Blah
blah blah blah<sup>™</sup> Blah blah blah blah.
Blah blah blah blah<sup>™</sup>. Blah blah blah blah.
Blah blah blah blah<sup>�</sup>. Blah blah blah blah;</textarea>
</p>
<p>
<input type="submit" name="option" value="Modify"><br><br>
<input type="submit" name="option" value="Delete"><br><br>
<input type="submit" name="option" value="Clear">
</p>
</form>
</body>
</html>
------------------------------------------------------------------------
[2001-11-06 16:10:45] [EMAIL PROTECTED]
Please submit the shortest reproducing script which does something strange. It's very
hard to track down the problem if you don't show us exactly what you did.
------------------------------------------------------------------------
[2001-11-06 13:30:29] [EMAIL PROTECTED]
Removing enctype="multipart/form-data" from the form tag does seem to solve the
problem. However, it creates another. I was planning to add a "file" input type field
to the form to enable users to upload images. To accomplish that, I'll need to include
enctype="multipart/form-data". What then? Also, I was hoping to get to the bottom of
the problem and figure out what's going on with HTML entities and form input. Thanks.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/?id=13953
Edit this bug report at http://bugs.php.net/?id=13953&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]