Page 1 sur 1
fonction qui retourne une conjugaison
Posté : 18 févr. 2017, 21:16
par knuckerbzh
Code : Tout sélectionner
<html>
<head>
<Title> ma conjugaison </title>
</head>
<body>
<form>
<p>verbe en "er" choissis :<input name="verbes" type="text" /></p>
<input type="submit" name="envoyer" value="envoyer">
</form>
<?php
$verbes = isset($REQUEST['verbes']) ? $_REQUEST['verbes']:''; //on receptionne la variable
if(empty($verbes)){
echo'Veuillez remplir le champs verbes';
}
// Conjuge les verbes en -er
function conjuguer ($verbes){
$contrainte1 = true;
$contrainte2 = true;
//Terminaisons er regulier
$terminaisons = [
"Je" => "",
"Tu" => "s",
"Il" => "",
"Nous" => "ons",
"Vous" => "z",
"Ils" => "nt"
];
//Terminaisons irreguliere cer
$terminaisonsCER = [
"Je" => "ce",
"Tu" => "ces",
"Il" => "ce",
"Nous" => "çons",
"Vous" => "cez",
"Ils" => "cent"
];
$verbes = strtolower($verbes);
if (strlen($verbes) > 15 || preg_match('/\s/', $verbes))
{
$contrainte1 = !$contrainte2;
$result = '<p>Le verbe doit contenir un maximum de 15 charactères et aucun espace</p>';
}
if (substr($verbes, -2) != "er")
{
$contrainte2 = !$contrainte2;
$result = '<p>Le verbe doit finir en -er</p>';
}
if ($contrainte1 && $contrainte2 && substr($verbes, -2) == "er") {
if (substr($verbes, -3) == "cer")
{
$verbes = substr($verbes, 0, -3);
foreach ($terminaisonsCER as $key => $terminaison)
{
$result = '<p>'.$key.' '.$verbe.$terminaison.'</p>';
}
}
else
{
$verbes = substr($verbe, 0, -1);
foreach ($terminaisons as $key => $terminaison)
{
$result = $key.' '.$verbes.$terminaison;
}
}
}
return $result;
}$result_conjugaison = conjuguer($verbes); // variable contenant le resultat de la fonction ?>
</body>
</html>
bonjour,
voila j'aimerais que cela me retourne la conjugaison du verbe que l'utilisateur auras choissis (un verbes qui finis en er) mais je n'arrive pas a faire ne sorte que le verbes choissis entre dans ma fonction ...
snifff help me please
Re: fonction qui retourne une conjugaison
Posté : 18 févr. 2017, 21:56
par or 1
$verbes = isset($_REQUEST['verbes']) ? $_REQUEST['verbes']:'';
au lieu de
$verbes = isset($REQUEST['verbes']) ? $_REQUEST['verbes']:'';
Re: fonction qui retourne une conjugaison
Posté : 18 févr. 2017, 22:00
par knuckerbzh
OMG oui cela fonctionne me reste les return et/ou les affichage car quand je met le verbes cela ne me renvoie pas la conjugaison !
merci beaucoup a toi

Re: fonction qui retourne une conjugaison
Posté : 18 févr. 2017, 22:21
par Spols
un simple echo $result_conjugaison; devrait suffire
Re: fonction qui retourne une conjugaison
Posté : 18 févr. 2017, 22:25
par knuckerbzh
pas vraiment car du coup il me retourne cela :
alors que ce que je veux c'est pour tous ( je, tu , il, nous, vous, ils)
j'arrive a cela:
Code : Tout sélectionner
<html>
<head>
<Title> ma conjugaison </title>
</head>
<body>
<form>
<p>verbe en "er" choissis :<input name="verbes" type="text" /></p>
<input type="submit" name="envoyer" value="envoyer">
</form>
<?php
$verbes = isset($_REQUEST['verbes']) ? $_REQUEST['verbes']:''; //on receptionne la variable
if(empty($verbes)){
echo'Veuillez remplir le champs verbes';
}
// Conjuge les verbes en -er
function conjuguer ($verbes){
$contrainte1 = true;
$contrainte2 = true;
//Terminaisons er regulier
$terminaisons = [
"Je" => "",
"Tu" => "s",
"Il" => "",
"Nous" => "ons",
"Vous" => "z",
"Ils" => "nt"
];
//Terminaisons irreguliere cer
$terminaisonsCER = [
"Je" => "ce",
"Tu" => "ces",
"Il" => "ce",
"Nous" => "çons",
"Vous" => "cez",
"Ils" => "cent"
];
$verbes = strtolower($verbes);
if (strlen($verbes) > 15 || preg_match('/\s/', $verbes))
{
$contrainte1 = !$contrainte2;
$result = '<p>Le verbe doit contenir un maximum de 15 charactères et aucun espace</p>';
}
if (substr($verbes, -2) != "er")
{
$contrainte2 = !$contrainte2;
$result = '<p>Le verbe doit finir en -er</p>';
}
if ($contrainte1 && $contrainte2 && substr($verbes, -2) == "er") {
if (substr($verbes, -3) == "cer")
{
$verbes = substr($verbes, 0, -3);
foreach ($terminaisonsCER as $key => $terminaison)
{
$result = '<p>'.$key.' '.$verbes.$terminaison.'</p>';
}
}
else
{
$verbes = substr($verbes, 0, -1);
foreach ($terminaisons as $key => $terminaison)
{
$result = $key.' '.$verbes.$terminaison;
}
}
}
return $result;
}$result_conjugaison = conjuguer($verbes); // variable contenant le resultat de la fonction
echo $result_conjugaison;
?>
</body>
</html>
Re: fonction qui retourne une conjugaison
Posté : 18 févr. 2017, 23:23
par Spols
initialise ta variable $result en début de fonction et ajoute un point avant le égal chaque fois que tu rempli cette variable, ainsi tu concatènera les balises p et tu afficheras le tout
Re: fonction qui retourne une conjugaison
Posté : 19 févr. 2017, 00:19
par knuckerbzh
nice merci vraiment sa fonctionne mieux *-*
Re: [RESOLU] fonction qui retourne une conjugaison
Posté : 19 févr. 2017, 12:07
par finipe
Il faudra penser à des exceptions, comme par exemple le verbe aller !