Problème TPE Création d'un site web dynamique

Problème TPE Création d'un site web dynamique - PHP - Programmation

Marsh Posté le 18-01-2013 à 14:15:41    

Bonjour à tous  :hello:  
Je suis actuellement en classe de première, je dois donc réaliser un TPE.
Je suis en train de faire un site web qui permet de convertir d'une base binaire, décimal ou héxadécimal à une base binaire, décimal ou héxadécimal.
Mais pour l'instant je galère un peu avec l'envoi de nombres avec un formulaire  :(  
Je m'explique : j'ai fais cette page en html :

Code :
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.  <meta charset"utf-8" />
  5.  <link rel="stylesheet" href="style.css" />
  6.  <title>Online Number Converter</title>
  7. </head>
  8. <body>
  9.  <img class="image" src="bannière.png" alt="Bannière du site" />
  10.  <h2>Bonjour et bienvenue sur notre site : Online Number Converter.
  11.   Il permet de convertir une multitude de nombres <span class="importe">entiers postifs</span>
  12.   du décimal, binaire, octale et héxadécimal au décimal, binaire, octale et hécadécimal.</h2>
  13.   <form action="hexa-bin.php" method="post">
  14.    <p>
  15.     <input type="text" name="nbentre" />
  16.     <input type="submit" value="Valider" />
  17.    </p>
  18. </body>
  19. </html>


Donc avec ce code, on envoie le nombre saisie dans la variable nbentre à la page hexa-bin.php.
Et là par exemple si je me contente d'afficher le nombre saisie avec ce code :

Code :
  1. <?php
  2. echo $_POST[nbentre];
  3. ?>


Il m'affiche une erreur : Notice: Use of undefined constant nbentre - assumed 'nbentre' in C:\Program Files (x86)\wamp\www\test\hexa-bin.php on line 2
Du coup quand j'essaye un algorithme entier qui permet de convertir, j'ai l'impression que ça ne marche pas à cause de cette erreur dûe à la variable nbentre  :??:  
Quelqu'un sais comment résoudre cette erreur ?


Message édité par wilfi00 le 18-01-2013 à 14:35:32

---------------
The quieter you become, the more you are able to hear
Reply

Marsh Posté le 18-01-2013 à 14:15:41   

Reply

Marsh Posté le 18-01-2013 à 14:22:26    

Code :
  1. <?php
  2. echo $_POST["nbentre"];
  3. ?>


 
;)


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Marsh Posté le 18-01-2013 à 14:32:53    

x1fr a écrit :

Code :
  1. <?php
  2. echo $_POST["nbentre"];
  3. ?>


 
;)


Merci beaucoup, ça marche !  :jap:  
Il y a donc une erreur sur le sdz, j'avais copié leur ligne de code ;)


---------------
The quieter you become, the more you are able to hear
Reply

Marsh Posté le 18-01-2013 à 14:46:36    

Bon, j'ai un autre problème. J'ai écrit ça en code :

Code :
  1. <?php
  2. if ($_POST["nbentre"] == 2)
  3.         {
  4.                 $nbsortie = 0010;
  5.         }
  6. echo $nbsortie;
  7. ?>


Donc lorsque je tape 2, il doit m'afficher 0010 mais lorsque j'essaye cela m'affiche 8  :??:  
Quelqu'un a une idée ?
Edit : c'est réglé ;)


Message édité par wilfi00 le 18-01-2013 à 15:17:02

---------------
The quieter you become, the more you are able to hear
Reply

Marsh Posté le 18-01-2013 à 15:32:21    

Bonjour,
Pour info, vous devez fermer votre </form>


---------------
Besoin d'aide pour votre projet? agence web
Reply

Marsh Posté le 18-01-2013 à 17:07:16    

tsoko a écrit :

Bonjour,
Pour info, vous devez fermer votre </form>


Ah oui exact, merci  :jap:


---------------
The quieter you become, the more you are able to hear
Reply

Marsh Posté le 24-01-2013 à 09:15:31    

Heu j'ai un petit problème : pourquoi lorsque je stocke 010 dans une variable, lorsque je l'affiche elle m'affiche 8 ?
J'ai une autre question : j'aimerais bien utiliser la méthode de horner pour par exemple convertir 10011 en décimal : 1*2^4+0*2^3+0*2^2+1*2^1+1*2^0
Pour plus d'info : http://www.courstechinfo.be/Math_Info.pdf
Est-ce qu'il est possible de "séparer" les chiffres du nombre 10011 pour avoir le chiffre des dizaines, des centaines ect... pour utiliser cette méthode ?


Message édité par wilfi00 le 24-01-2013 à 09:37:51

---------------
The quieter you become, the more you are able to hear
Reply

Marsh Posté le 24-01-2013 à 09:58:53    

Faut traiter ça comme une chaîne de caractères.
Ex : $Entree = "10011";
Récupérer le strlen() de la chaîne pour avoir l'exposant max :
$Exposant = strlen($Entree) - 1;
Faire une boucle for pour parcourir la chaîne de gauche à droite mais en faisant décroître l'exposant.
 
Edit : l'utilisation du html/php, c'était imposé? Parce que pour ce genre de conversion, du langage C aurait été plus approprié il me semble :/...

Message cité 1 fois
Message édité par rufo le 24-01-2013 à 09:59:43

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 24-01-2013 à 11:53:45    

rufo a écrit :

Faut traiter ça comme une chaîne de caractères.
Ex : $Entree = "10011";
Récupérer le strlen() de la chaîne pour avoir l'exposant max :
$Exposant = strlen($Entree) - 1;
Faire une boucle for pour parcourir la chaîne de gauche à droite mais en faisant décroître l'exposant.
 
Edit : l'utilisation du html/php, c'était imposé? Parce que pour ce genre de conversion, du langage C aurait été plus approprié il me semble :/...


Merci pour la réponse  :jap:  
Bah en faite on est dans l'optique de faire un logiciel de conversion accessible à tous donc une appli web semble le meilleur choix...
Par contre c'est vrai qu'en C c'est quand même plus adapté, d'ailleurs je viens de faire un petit code pour la conversion du décimal au binaire :

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main ()
  4. {
  5.     long long unsigned int decimal = 0;
  6.     long long unsigned int binaire = 2;
  7.     printf("Entrez le nombre entier : " );
  8.     scanf ("%u", &decimal);
  9.     while (binaire <= decimal)
  10.     binaire *= 2;
  11.     binaire /= 2;
  12.     while (binaire !=0)
  13.     {
  14.         if (binaire <= decimal)
  15.         {
  16.             printf("1" );
  17.             decimal -= binaire;
  18.         }
  19.         else
  20.             printf("0" );
  21.         binaire /= 2;
  22.     }
  23.     printf ("\n" );
  24.     printf ("Le nombre binaire est %d", binaire);
  25. }


Du coup  je pense que c'est quand même mieux comme code, j'ai plus qu'à le faire en php ;)


---------------
The quieter you become, the more you are able to hear
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed