Les variables, text2, POURCENTAGE, POURCENTAGE_TOTAL, sont vident lorsque que je valide le formulaire d'enregistrement dans la bd, pouvez vous m'eclairer, car ce qui est bizarre c'est que text1 est valide... :
<?
if($conf){
$save=$_POST['Save'];
$text1=$_POST['text1'];
[color=red]$text2=$_POST['text2'];[/color] $option=$_POST['option'];
[color=red]$POURCENTAGE=$_POST['POURCENTAGE'];
$POURCENTAGE_TOTAL=$_POST['POURCENTAGE_TOTAL'];[/color] $id=$_SESSION['id_unique'];
echo "**** $text2 ****"; //non
echo "**** $text1 ****"; //ok
echo "**** $option ****"; //ok
echo "**** $POURCENTAGE ****"; //non
echo "**** $POURCENTAGE_TOTAL ****"; //non
if($option != line){
if($save == "yes"){
$req3="INSERT INTO textsave(id_user,texte1,texte2,result) VALUES('$id','$text1','$text2','$POURCENTAGE');";
mysql_query($req3) or die("bad insert in bd <br>$req3<br>".mysql_error());
}
}else {
if($save == "yes"){
$req3="INSERT INTO textsave(id_user,texte1,texte2,result) VALUES('$id','$text1','$text2','$POURCENTAGE_TOTAL');";
mysql_query($req3) or die("bad insert in bd <br>$req3<br>".mysql_error());
}
}
}
$texte1=$_POST['texte1'];
$texte2=$_POST['texte2'];
$option=$_POST['option1'];
$texte1_save=$texte1;
$texte2_save=$texte2;
//Verification si le champ texte1 est rempli
if(!empty($texte1) || !empty($texte2)){
//initialize all variable
$count_TOTAL_1 = 0;
$count_TOTAL_2 = 0;
if($option == "Sentences"){
//On verifie la longueur des texte
if(strlen($texte2)>strlen($texte1)){
$tmp = $texte1;
$texte1 = $texte2;
$texte2 = $tmp;
}
//test per sentence
$array_texte1 = explode(".", strtolower($texte1));
$array_texte2 = explode(".", strtolower($texte2));
} else if($option == "line"){
$texte1=str_replace("," , " ",$texte1);
$texte2=str_replace("," , " ",$texte2);
$texte1=str_replace("." ," ",$texte1);
$texte2=str_replace("." ," ",$texte2);
$texte1=str_replace(":" , " ",$texte1);
$texte2=str_replace(":" , " ",$texte2);
$texte1=str_replace("!" ," ",$texte1);
$texte2=str_replace("!" ," ",$texte2);
$texte1=str_replace("?" , " ",$texte1);
$texte2=str_replace("?" , " ",$texte2);
$texte1=str_replace("\\" ," ",$texte1);
$texte2=str_replace("\\" ," ",$texte2);
$texte1=str_replace("?" , "",$texte1);
$texte2=str_replace("?" , "",$texte2);
$texte1=str_replace("\"" ," ",$texte1);
$texte2=str_replace("\"" ," ",$texte2);
$texte1=str_replace(";" , " ",$texte1);
$texte2=str_replace(";" , " ",$texte2);
$texte1=str_replace("'" ," ",$texte1);
$texte2=str_replace("'" ," ",$texte2);
$texte1=str_replace("(" , " ",$texte1);
$texte2=str_replace("(" , " ",$texte2);
$texte1=str_replace(")" , " ",$texte1);
$texte2=str_replace(")" , " ",$texte2);
$texte1=str_replace("¦" , " ",$texte1);
$texte2=str_replace("¦" , " ",$texte2);
$lines_texte1 = array();
$lines_texte2 = array();
while(strlen($texte1)>80){
$tronque = tronque($texte1,80);
//echo "$tronque<br>";
array_push($lines_texte1,$tronque);
$texte1 = substr($texte1,strlen($tronque),strlen($texte1));
}
array_push($lines_texte1,$texte1);
while(strlen($texte2)>80){
$tronque = tronque($texte2,80);
//Remplissage du tableau $lines_texte2 avec la ligne $tronque
array_push($lines_texte2,$tronque);
//Permet de mettre a jour $texte2 en enlevant la partie tronquée
$texte2 = substr($texte2,strlen($tronque),strlen($texte2));
}
//si la chaine est < 80 caractères alors il n'y a pas besoin de tronquer
array_push($lines_texte2,$texte2);
}else if($option == "WordsPonc"){
//On verifie la longueeur des texte
if(strlen($texte2)>strlen($texte1)){
$tmp = $texte1;
$texte1 = $texte2;
$texte2 = $tmp;
}
$texte1=str_replace("," , " ,",$texte1);
$texte2=str_replace("," , " ,",$texte2);
$texte1=str_replace("." ," .",$texte1);
$texte2=str_replace("." ," .",$texte2);
$texte1=str_replace(":" , " :",$texte1);
$texte2=str_replace(":" , " :",$texte2);
$texte1=str_replace("!" ," !",$texte1);
$texte2=str_replace("!" ," !",$texte2);
$texte1=str_replace("?" , " ?",$texte1);
$texte2=str_replace("?" , " ?",$texte2);
$texte1=str_replace("\\" ," ",$texte1);
$texte2=str_replace("\\" ," ",$texte2);
$texte1=str_replace("?" , " ?",$texte1);
$texte2=str_replace("?" , " ?",$texte2);
$texte1=str_replace("\"" ," \" ",$texte1);
$texte2=str_replace("\"" ," \" ",$texte2);
$texte1=str_replace(";" , " ;",$texte1);
$texte2=str_replace(";" , " ;",$texte2);
$texte1=str_replace("'" ," ' ",$texte1);
$texte2=str_replace("'" ," ' ",$texte2);
$texte1=str_replace("(" , " ( ",$texte1);
$texte2=str_replace("(" , " ( ",$texte2);
$texte1=str_replace(")" , " ) ",$texte1);
$texte2=str_replace(")" , " ) ",$texte2);
$texte1=str_replace("¦" , " ¦ ",$texte1);
$texte2=str_replace("¦" , " ¦ ",$texte2);
$array_texte1 = explode(" ", strtolower($texte1));
$array_texte2 = explode(" ", strtolower($texte2));
}else if($option == "Words"){
//On verifie la longueeur des texte
if(strlen($texte2)>strlen($texte1)){
$tmp = $texte1;
$texte1 = $texte2;
$texte2 = $tmp;
}
$texte1=str_replace("," , " ",$texte1);
$texte2=str_replace("," , " ",$texte2);
$texte1=str_replace("." ," ",$texte1);
$texte2=str_replace("." ," ",$texte2);
$texte1=str_replace(":" , " ",$texte1);
$texte2=str_replace(":" , " ",$texte2);
$texte1=str_replace("!" ," ",$texte1);
$texte2=str_replace("!" ," ",$texte2);
$texte1=str_replace("?" , " ",$texte1);
$texte2=str_replace("?" , " ",$texte2);
$texte1=str_replace("\\" ," ",$texte1);
$texte2=str_replace("\\" ," ",$texte2);
$texte1=str_replace("?" , "",$texte1);
$texte2=str_replace("?" , "",$texte2);
$texte1=str_replace("\"" ," ",$texte1);
$texte2=str_replace("\"" ," ",$texte2);
$texte1=str_replace(";" , " ",$texte1);
$texte2=str_replace(";" , " ",$texte2);
$texte1=str_replace("'" ," ",$texte1);
$texte2=str_replace("'" ," ",$texte2);
$texte1=str_replace("(" , " ",$texte1);
$texte2=str_replace("(" , " ",$texte2);
$texte1=str_replace(")" , " ",$texte1);
$texte2=str_replace(")" , " ",$texte2);
$texte1=str_replace("¦" , " ",$texte1);
$texte2=str_replace("¦" , " ",$texte2);
$array_texte1 = explode(" ", strtolower($texte1));
$array_texte2 = explode(" ", strtolower($texte2));
}
if(( $_SESSION['logged'] == "true") && $_SESSION['type']=="user" ){
?>
<HTML>
<HEAD>
</HEAD>
<BODY>
<h4><center> Do you want to save all text and result? </h4>
<? echo "** $texte2_save ** $POURCENTAGE ** $POURCENTAGE_TOTAL **"; ?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" >
<input type="hidden" name="conf" value="1">
<input type="hidden" name="option" value="<?= $option ?>">
<input type="hidden" name="text1" value="<?= $texte1_save ?>">
<input type="hidden" name="text2" value="<?= $texte2_save ?>">
<input type="hidden" name="POURCENTAGE" value="<?= $POURCENTAGE ?>">
<input type="hidden" name="POURCENTAGE_TOTAL" value="<?= $POURCENTAGE_TOTAL ?>">
<input type="radio" name="Save" value="yes"> yes
<input type="radio" name="Save" value="no"> no
<br><br>
<input type="Submit" value="ok" name="submit">
</center>
</form>
</BODY>
</HTML>
<? }
if($option != "line"){
// Affichage
$count_tab_texte1 = count($array_texte1);
$count_tab_texte2 = count($array_texte2);
$occurence_tab1 = array_count_values($array_texte1);
$keys_occurence_tab1= array_keys($occurence_tab1);
//Count number of Occurence
for($i = 0; $i < count($keys_occurence_tab1) ; $i++){
$occurance_tab2[$i] = count(array_keys($array_texte2, $keys_occurence_tab1[$i]));
$count_TOTAL_1 += $occurence_tab1[$keys_occurence_tab1[$i]];
$count_TOTAL_2 += $occurance_tab2[$i];
}
$NB_WORD1=count($keys_occurence_tab1);
$NB_WORD2=count($keys_occurence_tab2);
$NB_WORD=$NB_WORD1+$NB_WORD2;
$POURCENTAGE=round((($count_TOTAL_2*100)/$count_TOTAL_1),2);
echo "<P> <HR> <P>";
echo "Text 1 : ".$texte1_save."<br>";
echo "Text 2 : ".$texte2_save."<br><br>";
//Print all words and occurence
echo "<table border=1>";
if($option == "Words" || $option == "WordsPonc"){
echo "<td> Test per Words </td>";
}else if ( $option =="line" ){
echo "<td> Test per Lines </td>";
}else{
echo "<td> Test per Sentences </td>";
}
echo "<tr>";
if($option == "Words" || $option == "WordsPonc"){
echo "<td>".$NB_WORD." Shared words(s)</td>";
}else{
echo "<td>".$NB_WORD." Shared Sentence(s)</td>";
}
echo "<td> Frequency in text 1 </td>";
echo "<td> Frequency in text 2 </td>";
echo "</tr>";
for($i = 0; $i < count($keys_occurence_tab1) ; $i++){
//Correction for the good formating array
if($keys_occurence_tab1[$i] != ""){
echo "<tr>";
if($occurance_tab2[$i] != 0 ){
echo "<td>".$keys_occurence_tab1[$i]."</td>";
echo "<td>".$occurence_tab1[$keys_occurence_tab1[$i]]."</td>";
echo "<td>".$occurance_tab2[$i]."</td>";
//mettre qqchose pour compter le nombre de mot valide
}
echo "</tr>";
}
}
echo "<tr>";
echo "</tr>";
echo "</table>";
echo "<table border=1>";
echo "<tr>";
echo "<td> Correspondence : ".$POURCENTAGE."%</td>";
echo "</tr>";
echo "</table>";
} //Si on compare par le nombre de ligne alors voila le resultat
else{
$Number_of_line=count($lines_texte1);
echo "Number of Line ".count($lines_texte1);
echo "<table border=2>";
echo "<tr bgcolor='#CCCCCC'>";
echo "<td>line texte 1</td>";
echo "<td>line texte 2</td>";
echo "<td>Correspondence</td>";
echo "</tr>";
//on depile le tableau par la fonction array_shift
$line1 = array_shift($lines_texte1);
$line2 = array_shift($lines_texte2);
//on verifie si l'un des tableaux n'est pas vide
while(($line1 != null) || ($line2 != null )){
//on explose le tableau avec comme delimiteur les espaces
$array_texte1 = explode(" ", strtolower($line1));
$array_texte2 = explode(" ", strtolower($line2));
//on sauvegarde les lignes a comparer
$line1_save = $line1;
$line2_save = $line2;
if($line2 != null && $line1 != null){
//resolution probleme d'affichage comparaison de la chaine la plus grande sur la chaine la plus petite
if(strlen($line2)>strlen($line1)){
$tmp = $array_texte1;
$array_texte1 = $array_texte2;
$array_texte2 = $tmp;
}
// Affichage
$count_tab_texte1 = count($array_texte1);
$count_tab_texte2 = count($array_texte2);
$occurence_tab1 = array_count_values($array_texte1);
$keys_occurence_tab1= array_keys($occurence_tab1);
//Count number of Occurence
for($i = 0; $i < count($keys_occurence_tab1) ; $i++){
$occurance_tab2[$i] = count(array_keys($array_texte2, $keys_occurence_tab1[$i]));
$count_TOTAL_1 += $occurence_tab1[$keys_occurence_tab1[$i]];
$count_TOTAL_2 += $occurance_tab2[$i];
}
//calcul du pourcentage avec comme limitation a 2 chiffres apres la virgule
$POURCENTAGE=round((($count_TOTAL_2*100)/$count_TOTAL_1),2);
}else{
$POURCENTAGE=0;
}
echo "<tr>";
echo "<td>$line1_save</td>";
echo "<td>$line2_save</td>";
echo "<td>$POURCENTAGE %</td>";
echo "</tr>";
$POURCENTAGE_TOTAL+=$POURCENTAGE;
//on recharge une nouvelle ligne
$line1 = array_shift($lines_texte1);
$line2 = array_shift($lines_texte2);
}
$POURCENTAGE_TOTAL=round(($POURCENTAGE_TOTAL/$Number_of_line),2);
echo "<td></td><td>Result : </td>";
echo "<td> $POURCENTAGE_TOTAL %</td>";
echo "</table>";
}
}
?>