2010-05-07 4 views
0

Bonjour j'ai un formulaire html et je poste des données, mais je suis incapable d'obtenir les données postées sur une page php (même page) pouvez-vous s'il vous plaît aidez-moi. merci à l'avanceimpossible d'utiliser html formulaire poste en php

<div class="left"> 
<form name="form_signin" method="post" onsubmit="return signinValid();" > 
    <table> 
     <tr> 
      <td> 
       Email : 
      </td> 
      <td> 
       <input type="text" id="email" length ="40"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       Mot de Passe : 
      </td> 
      <td> 
       <input type="password" id ="pass" length ="40"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       &nbsp; 
      </td> 
      <td> 
       <input type="submit" value="Connexion" length ="40"> 
      </td> 
     </tr> 

    </table> 


</form> 

<?php 
include 'includes.php'; 
include DB_CONNECT_FILE; 
//session_start(); 
print_r($_POST); // prints an empty array even if fields are filled 

$smart->assign('tpl_file',TEMPLATES_DIR.'signin.html'); 
$smart->display(TEMPLATES_DIR."with_right.html"); 

include DB_DISCONNECT_FILE; 

?> 

Répondre

1

Votre élément de formulaire doit avoir une action attribut défini, même si la forme est tout simplement reposter à la même page. Selon les spécifications du W3C, il est un attribut nécessaire:

http://www.w3.org/TR/html401/interact/forms.html#h-17.3

Je suis surpris de voir cette ligne n'est pas jeter une erreur:

$smart->assign('tpl_file',TEMPLATES_DIR.'signin.html'); 

Pour autant que je sache, vous ne peut utiliser que la séparation des virgules lors de l'écho.

MISE À JOUR Je ne peux pas croire que je l'ai manqué la première fois! Vous devrez ajouter l'attribut name aux éléments d'entrée. Ils peuvent être les mêmes que l'id attribut pour l'élément en question:

<input type="text" id="email" name="email" size="40"> 

En outre, il n'y a pas attribut comme longueur. Il ya maxlength, mais je soupçonne que vous voulez utiliser taille.

+0

merci pour votre réponse. J'ai changé la ligne de formulaire à

mais toujours avoir le même problème .. mon filenane est 'signin.php' – kossibox

+0

Normalement, smarty fonctionne de cette façon mais je vais vérifier cela aussi. – kossibox

+0

page reaload ok $ _post = array() – kossibox

0

Vérifiez ce que fait ce javascript. Cela pourrait renvoyer faux (de cette façon vous empêchez la publication) ou arrêter la propagation. Au début, essayez de supprimer cette sous-diffusion.

+0

bonne idée. Merci – kossibox