transformer un temps en seconde ¿?

Mammouth du PHP | 601 Messages

21 mai 2006, 22:33

Bonjour,
j'essaie de me faire un script pour transformer une heure donnée en seconde, alors j'ai fait sa :
http://creatif-web.be/video/essai.php
Si quelqu'un à des idées pour le déboguer je suis toute ouie !!!!
<?php 
print ("<form action=\"\" method=\"get\ action=\"http:\/\/creatif-web.be\/video\/essai.php\">
<input name=\"letemps\" type=\"text\" />
<input type=\"button\" value=\"envoie\" />
</form>");
//$temps='d-m-y, H:i:s';
$tempsForm="$_GET[letemps]";
$point=".";
if( strcspn($tempsForm, $point) == strlen($tempsForm)) {
	$sec="$_GET[letemps]" * 60;
	echo "$_GET[letemps] minute équivaux à " .$sec. " seconde<br />";
	// test pour un format entier
	}
else {

	$decim=substr("$_GET[letemps]", 2, 2);
	$entier=substr("$_GET[letemps]", 0, 1);
	 $sec=$entier * 60 + $decim;
	echo "$_GET[letemps] minute équivaux à " .$sec. " seconde";
	// test pour un format 8; 14; 4.1; 6.32
}
/*else {
	$deuxDec=substr("$_GET[letemps]", 0, 1);	
	$plutot=$deuxDec * 60;
	$deuxder=substr("$_GET[letemps]", 3, 2);
	$deuxChiffres=$plutot + $deuxder;
	echo "<br /><br />".$deuxChiffres;
	// test pour un format 10.2; 10.23

}
*/
?>

Mammouth du PHP | 19672 Messages

21 mai 2006, 23:20

Mouais, on va comencer par corriger les erreurs de codage :
<form action="" method="get" action="http://creatif-web.be/video/essai.php">
<input name="letemps" type="text" />
<input type="button" value="envoie" />
</form>
<?php
//$temps='d-m-y, H:i:s';
$tempsForm = $_GET['letemps'];
$point = ".";
if( strcspn($tempsForm, $point) == strlen($tempsForm))
{
    $sec=$_GET['letemps'] * 60;
    echo $_GET['letemps'] ." minute équivaut à ". $sec ." seconde<br />\n";
    // test pour un format entier
}
else
{
    $decim = substr($_GET['letemps'], 2, 2);
    $entier = substr($_GET['letemps'], 0, 1);
     $sec = $entier * 60 + $decim;
    echo $_GET['letemps'] ." minute équivaut à ". $sec ." seconde";
    // test pour un format 8; 14; 4.1; 6.32
}
/*else {
    $deuxDec=substr($_GET['letemps'], 0, 1);    
    $plutot=$deuxDec * 60;
    $deuxder=substr($_GET['letemps'], 3, 2);
    $deuxChiffres=$plutot + $deuxder;
    echo "<br /><br />".$deuxChiffres;
    // test pour un format 10.2; 10.23

}
*/
?>
on écrit pas "$_GET[letemps]" mais $_GET['letemps'] entre autres choses.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 601 Messages

22 mai 2006, 02:17

Oui c'est fait
<?php 
print ("<form action=\"\" method=\"get\ action=\"http:\/\/creatif-web.be\/video\/essai.php\">
<input name=\"letemps\" type=\"text\" />
<input type=\"button\" value=\"envoie\" />
</form>");
//$temps='d-m-y, H:i:s';
$tempsForm=$_GET['letemps'];
$point=".";
if( strcspn($tempsForm, $point) == strlen($tempsForm)) {
	$sec=$_GET['letemps'] * 60;
	echo $_GET['letemps']. "minute équivaux à <strong>" .$sec. "</strong> seconde<br />";
	// test pour un format entier
	}
else {

	$decim=substr($_GET['letemps'], 2, 2);
	$entier=substr($_GET['letemps'], 0, 1);
	 $sec=$entier * 60 + $decim;
	echo $_GET['letemps']." minute équivaux à <strong>" .$sec. "</strong> seconde";
	// test pour un format 8; 14; 4.1; 6.32
}
/*else {
	$deuxDec=substr("$_GET[letemps]", 0, 1);	
	$plutot=$deuxDec * 60;
	$deuxder=substr("$_GET[letemps]", 3, 2);
	$deuxChiffres=$plutot + $deuxder;
	echo "<br /><br />".$deuxChiffres;
	// test pour un format 10.2; 10.23
}
*/
?>
Mais j'aimerai savoir si je mis suis pris de la bonne façon, c'est mon premier script.
Jusque là j'ai pas mal de théorie et peu de pratique !

Mammouth du PHP | 19672 Messages

22 mai 2006, 08:28

Tu as corrigé, mais pas tout, regarde attentivement la correction du code que j'ai mise, ça ne se limite pas à une variable: sors le html du php, ferme les guillemets des attributs html et on utilise pas "\/\/" en PHP , ça, c'est du JavaScript, mais "//".
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 601 Messages

22 mai 2006, 16:37

J'ai trouvé ou sa coince, visible ici,
http://creatif-web.be/video/essai.php
<?php
$tempsForm = $_GET['letemps'];
$point = ".";
if( strcspn($tempsForm, $point) == strlen($tempsForm))
{
    $sec=$_GET['letemps'] * 60;
    echo "<p>".$_GET['letemps']. " minute(s) équivaux à <span  class=\"red\">" .$sec. "</span> seconde</p>.";
    // test pour un format entier
}
else
{
    $decim = substr($_GET['letemps'], 2, 2);
    $entier = substr($_GET['letemps'], 0, 1);
     $sec = $entier * 60 + $decim;
	echo "<p>".$_GET['letemps']." minute équivaux à <span  class=\"red\">" .$sec. "</span> seconde</p>.";
    // test pour un format 8; 14; 4.1; 6.32
}
/*else {
    // test pour un format 10.2; 10.23

}
*/
    $decimDeux = substr($_GET['letemps'], 2, 1);
    $entier = substr($_GET['letemps'], 0, 2);
    $seco = $entier * 60 + $decim;
    echo "<p>".$_GET['letemps']." minute équivaux à <span  class=\"red\">" .$seco. "</span> seconde</p>.";
?>
Seulement je me demande si il n'aurrai pas fallut faire un switch ?
Parceque du coup je vais devoir imbriqué un deuxième if() dans le deuxième else.
En faite je n'arrive pas à rajouter un troisième else/elseif, sa me retourne une erreur sur else ou elseif, pourtant dans mes livres sa existe ??????

2/
Je n'ai pas compris ta phrase :
"ferme les guillemets des attributs html et on utilise pas "\/\/" en PHP , ça, c'est du JavaScript, mais "//"."
\/\/ j'ai mis sa comme caractère d'échapement, rien de plus ?

Mammouth du PHP | 19672 Messages

22 mai 2006, 19:42

Pour le premier point, quelles sont les conditions possibles ?

Pour le second point, tu as utilisé un échappement pour les "/" en les faisant tous précéder du'un "\" : ça, c'est du JavaScript, pas du PHP et ça n'a pas lieu d'être, retourne regarder le code que tu as posté au départ et compare avec ma correction: la première ligne avec un print().
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 601 Messages

23 mai 2006, 14:28

Oui c'est vrai les slashs ne s'échape pas en php, tu as l'oeil ;-)
Pour les conditons j'en est une autre mais j'arrive pas à mettre un troisième else, je ne comprend pas ?¿
if() 
{
echo 'blalalalal";
}
elseif
{
echo 'blalalalal";
}
else
{
echo 'blalalalal";
}
Cette structure ne fonctionne pas ?
C'est pour sa que je pensait à un switch ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

23 mai 2006, 14:53

Tu te mélanges un peu les pédales avec les " et ' :
if(...) 
{ 
echo "blalalalal"; 
} 
elseif(...)
{ 
echo "blalalalal"; 
} 
else 
{ 
echo "blalalalal"; 
}

Mammouth du PHP | 601 Messages

23 mai 2006, 15:29

Oui excusez moi, j'ai taper sa sur le pouce, mais sa ne viens pas de sa !