Help - Search - Members - Calendar
Full Version: Simple PHP Form not working?
HTMLHelp Forums > Programming > Server-side Scripting
masonh928
CODE


<?php

if(isset($_POST['PostBtn'])){
    
    echo($_POST['Title']);
    
}

?>

</ul>

</div>

<div class="col-sm-8">

<?php

echo <<<HTML
  <form method="post" action="">
      
      <input type="text" name="Title" class="title-text" placeholder="Give your post a title...">
      
      <br/><br/>
      
      <textarea class="form-control post-text" name="Post" required></textarea>
      
      <br/>
      
      <input type="submit" name="PostBtn" value="Post Now" class="btn btn-primary">
      
  </form>

HTML;

?>




Does anyone know why this code would not work??? I talked to my host and they don't see any reason why this wouldn't work? (I did not worry about sanitization or anything bc this is just for testing purposes) I get absolutely no errors and that's with strict reporting.I refresh the page and the form doesn't even show up? Even emptying cache doesn't work, I had to destroy the session just to get the form to reappear?? Removing the if statement does nothing either

Works fine locally
Christian J
Do you use a .php file extension? Does any PHP work online?
CharlesEF
Also, this is invalid:
CODE
HTML;

It should be:
CODE
HTML
Christian J
QUOTE(CharlesEF @ Jul 29 2019, 05:39 PM) *

Also, this is invalid:
CODE
HTML;

It should be:
CODE
HTML


I don't know much about Heredoc syntax, but the manual uses semicolons: https://www.php.net/manual/en/language.type....syntax.heredoc
CharlesEF
That has changed since I used heredoc. I remember only a newline was accepted after the closing identifier. I even remember helping other people with this problem on this forum and only a newline was accepted.

Thanks for the update.

CharlesEF
The error must be in code not shown. I put together this test page and it works fine.
CODE
<?php
if(isset($_POST['PostBtn'])){
echo($_POST['Title']);
}
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width">
<title>Heredoc Test</title>
</head>
<body>
<div>
<?php
echo <<<HTML
  <form method="post" action="">
   <input type="text" name="Title" class="title-text" placeholder="Give your post a title..." required>
   <br/><br/>
   <textarea class="form-control post-text" name="Post" required></textarea>
   <br/>
   <input type="submit" name="PostBtn" value="Post Now" class="btn btn-primary">
  </form>
HTML;
?>
</body>
</html>
masonh928
Thanks, everyone! So with my experimenting, it wasn't necessarily an error, but rather I guess I needed to put it in the file that included that file ? I think it might be due to my action attribute on the form.

And, in regards to the heredoc syntax: I did use the semicolon as you said was mandated by the manual?? I haven't had any issues with that.
masonh928
https://www.php.net/manual/en/migration73.n...es.core.heredoc

No longer required as of 7.3, but I still use it out of habit lol
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2024 Invision Power Services, Inc.