2011-11-22 1 views
0

Je travaille sur ce projet école et j'ai du mal à obtenir mon formulaire à regarder et à fonctionner correctement.PHP à l'intérieur du fichier HTML - Simple Form and Validator

This is my School Project

Questions/Question (s):
1) Puis-je utiliser ce même PHP "à l'intérieur" d'un document HTML? (The Demo I am Trying to Follow)

Ceci est mon entrée FORMULAIRE (DANS UN DOC HTML):

<div id="formWrap"> 
     <div id="form"> 
      <form action="contact.php" method="post" id="comments_form"> 
     <div class="row"> 
     <div class="label">Your Name</div> 
     <div class="input"> 
      <input type="text" id="fullname" class="detail" name="fullname" value="<?php echo isset($_POST['fullname'])? $_POST['fullname'] : ''; ?>" /> 

      <?php if(in_array('fullname', $validation)): ?><span class="error"><?php echo $error_messages['fullname']; ?></span><?php endif; ?> 

     </div> <!-- end input class --> 
     <div class="context">e.g. John Smith or Jane Doe</div><!-- end context class --> 
    </div><!-- end row class --> 

    <div class="row"> 
     <div class="label">Your Email Address</div> 
     <div class="input"> 
      <input type="text" id="email" class="detail" name="email" value="<?php echo isset($_POST['email'])? $_POST['email'] : ''; ?>" /> 

      <?php if(in_array('email', $validation)): ?><span class="error"><?php echo $error_messages['email']; ?></span><?php endif; ?> 

     </div> <!-- end input class --> 
     <div class="context">We will not share your email address with anyone.</div><!-- end context class --> 
    </div><!-- end row class --> 

    <div class="row"> 
     <div class="label">Tell Us All About It!</div> 
     <div class="input"> 
      <textarea id="comment" name="comment" class="mess"> 
       <?php echo isset($_POST['comment'])? $_POST['comment'] : ''; ?> 
      </textarea> 

      <?php if(in_array('comment', $validation)): ?><span class="error"><?php echo $error_messages['comment']; ?></span><?php endif; ?> 

     </div> <!-- end input class --> 
    </div><!-- end row class --> 

    <div class="submit"> 
     <input type="submit" id="submit" name="submit" value="Send Message" /> 
     </form> 
     <?php else: ?> 
      <p>Thank you for your Message!</p> 
     <?php endif; ?> 

    </div><!-- end submit class --> 
    </div><!-- end form --> 

     <?php if($form_complete === FALSE): ?> 

    </div><!-- end form wrap --> 
+0

PHP est-il installé sur le serveur hébergeant ce site Web? Sinon, le PHP ne fonctionnera pas. – sicks

Répondre

2

blocs PHP (<?php ?>) doivent être traitées par l'analyseur PHP/interprète. Cela signifie que le moteur doit savoir quels fichiers lire et lesquels ignorer. Si ce fichier est nommé index.html, l'interpréteur PHP l'ignorera (par défaut, vous pouvez le modifier, mais ce n'est pas vraiment une chose courante ou recommandée).

Vous pouvez placer correctement du HTML dans un fichier PHP (mais en dehors des blocs <?php ?>) mais vous ne pouvez pas placer PHP avec succès dans un fichier HTML.

Si votre fichier est nommé index.html, essayez de le renommer index.php et de voir si votre code fonctionne.

+0

OK c'est bon à savoir. Je vais essayer de retravailler cela et revenir avec vous. Merci. Aussi, juste pour clarifier - html5 fonctionne très bien dans un scénario index.php? – Varazi

+0

Si le HTML est inclus en dehors d'un bloc PHP, alors oui, l'interpréteur va lancer le PHP et sortir le HTML sans le modifier. – rockerest

+0

Oui changer index.html à index.php –

1

Vous pouvez modifier la configuration de votre serveur pour analyser les fichiers HTML en tant que PHP si vous voulez vraiment conserver l'extension html.

Par exemple, dans un serveur Apache avec PHP installé, vous pouvez créer un fichier .htaccess dans votre répertoire de site Web et utiliser AddType directive:

AddType application/x-httpd-php .html 

ou bien vous pouvez modifier le fichier php.ini.

0

Vous n'avez pas PHP installé ou votre serveur Web n'est pas configuré pour passer des fichiers .html à PHP. A en juger par le fait que this page existe, PHP est installé, vous avez juste besoin de renommer votre fichier de index.html à index.php, ou de reconfigurer Apache/votre serveur web.

+0

ummm, http://glustik.com/index.php n'existe pas mon pote –

+0

@PranavHosangadi - ummmm, il l'a fait quand j'ai posté cette réponse, "mon pote". – nickb