Probleme code php T variable

Fermé
tang1995 Messages postés 762 Date d'inscription vendredi 21 novembre 2008 Statut Membre Dernière intervention 8 mai 2012 - 15 sept. 2011 à 19:31
tang1995 Messages postés 762 Date d'inscription vendredi 21 novembre 2008 Statut Membre Dernière intervention 8 mai 2012 - 18 sept. 2011 à 10:51
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 762 Date d'inscription vendredi 21 novembre 2008 Statut Membre Dernière intervention 8 mai 2012 152
16 sept. 2011 à 21:50
Up s'il vous plait...
0
rodoplop Messages postés 77 Date d'inscription vendredi 16 septembre 2011 Statut Membre Dernière intervention 6 juillet 2012 12
16 sept. 2011 à 23:32
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 762 Date d'inscription vendredi 21 novembre 2008 Statut Membre Dernière intervention 8 mai 2012 152
18 sept. 2011 à 10:51
merci c corrigé et oui t'avais raison certaine de mes variables étaient inutile.
0