Probleme code php T variable

tang1995 Messages postés 829 Statut Membre -  
tang1995 Messages postés 829 Statut Membre -
Bonjour, je travaille actuellement sur un projet de bot de conversation et j'ai un problème bizarre une erreur t variable pourtant toutes sont déclarés avant d'être utilisés:

si vous trouver l'erreur merci beaucoup:

<head>
<title>Chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p></p>
<form action="index.php" method="post">
<p>
<input type="text" name="text" />
<input type="submit" value="Valider" />
</p>
</form>
</body>
</html>


<?php
//------------------------------On definit les principales variables --------
if (isset ($_POST['text']))
{
$_POST['text'] = $phrase ;
$onadejaditbjr = 0 ;
//On regarde si il faut observer la réponse d'une question posée précédement du genre quel est ton nom-----

if (preg_match("/\bet toi\b/i",$phrase)) ;
{
$lastreponse = $prenom ;
echo $prenom ;
echo "c'est un beau prénom!!!" ;
}

?> <?php
//ici on met les réponses programmés
if $onadejaditbjr == 0 AND (preg_match("Salut",$phrase)) {
$reponse = "Salut à toi ! Comment vas-tu ?, en fait je m'appelle the Bot et toi";
$onadejaditbjr = 1 ;
}
if $onadejaditbjr == 0 And (preg_match("/Bonjour/i", $phrase)) {
$onadejaditbjr = 1 ;
$reponse = "Salut à toi ! Comment vas-tu ? , en fait je m'appelle the Bot et toi";
}
elseif $onadejaditbjr == 1 And (preg_match("/Bonjour/i", $phrase)) {
$reponse = "Pourquoi tu me re dis bonjour... :d " ;

}
//fin du script affichage et sauvegarde
echo $reponse ;
$phrase = $lastphrase //a la fin du script on enregistre la deniére phrase dite et on //enregistre tout le texte pour pouvoir le réafficher
$reponse = $lastreponse // a la fin on enregistre la derniére chose faite
}
else { echo "<br>" }
?>






--
A voir également:

2 réponses

tang1995 Messages postés 829 Statut Membre 152
 
Up s'il vous plait...
0
rodoplop Messages postés 77 Statut Membre 12
 
Bonjours, bonsoir,

alors déjà quelques petites erreures dans ton script

$_POST['text'] = $phrase ; 


pour assigner le contenu de ton POST a ta variable c'est l'inverse

$phrase = $_POST[text'];


ensuite

if (preg_match("/\bet toi\b/i",$phrase)) ; 
{ 
$lastreponse = $prenom ; 
echo $prenom ; 
echo "c'est un beau prénom!!!" ; 
} 


tu assigne a $lastreponse la valeur de $prenom.

La variable $prenom n'a même pas été défini juste avant. Du coup $lastreponse sera null (ou vide).

pour fini, tes if ne sont pas bien parenthésés :
//ici on met les réponses programmés 
if $onadejaditbjr == 0 AND (preg_match("Salut",$phrase)) { 
//...
} 

//Remplacer par 
if (($onadejaditbjr == 0=) AND (preg_match("Salut",$phrase)))

//pour le second if, idem.
//tu peux même les regrouper comme cela
if (($onadejaditbjr == 0=) AND ( (preg_match("Salut",$phrase)) OR (preg_match("/Bonjour/i", $phrase))))

//et aussi :
elseif $onadejaditbjr == 1 And (preg_match("/Bonjour/i", $phrase)) { 
//remplacer par 
elseif (($onadejaditbjr == 1) AND (preg_match("/Bonjour/i", $phrase))) {


Sinon, pour la logique du script, je pense qu'il faut revoir ce que tu veux faire exactement car tu t'emmelle un peu les pinceaux avec les différentes variables inutile car non utilisé

Bonne soirée
0
tang1995 Messages postés 829 Statut Membre 152
 
merci c corrigé et oui t'avais raison certaine de mes variables étaient inutile.
0