Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Only first word of string appearing in HTML form when using string-reference

I'm having a problem with a HTML form and php.

I'm trying to make the default-value of a form-text field to be a pre-defined string. For this I'm using a reference. However, whenever I try to place a string into the form using PHP or references in any kind shape or form, only the first word gets added.

Here is a picture to describe the situation:

enter image description here

Does anyone know why this is happening, and/or a way to work around this issue?

Actual code:

<?php 
    Echo "<input type=\"text\" name=\"Address\" value=\"one two three\"><br>";
?>

<?php 
    $str ="one two three";
    Echo "<input type=\"text\" name=\"Address\" value=" . $str . "><br>";
?>

<input type="text" name="Address" value=<?php echo "one two three";?>><br>
<input type="text" name="Address" value=<?php $str = "one two three"; echo $str;?>><br>
<input type="text" name="Address" value="one two three"><br>
like image 619
Ajaco Avatar asked Oct 21 '25 12:10

Ajaco


1 Answers

You don't quote the echoed words. Basically you do this:

<input type="text" value=one two three />

But you need to do that:

<input type="text" value="one two three" />

Just add "" around the PHP.

BTW: You need to escape these if you don't want to get XSSed. These attacks are quite scary. Read about it here: https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)

like image 98
Lorenz Avatar answered Oct 24 '25 01:10

Lorenz



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!