gaisavoir
Messages postés2Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention 7 octobre 2009
-
23 sept. 2009 à 23:18
gaisavoir
Messages postés2Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention 7 octobre 2009
-
7 oct. 2009 à 22:23
Bonsoir,
J'ai un petit souci depuis que le serveur qui héberge mon site est passé en PHP5. Le script suivant qui sert à interroger une base mysql ne fonctionne plus. Est-ce que quelqu'un peut m'indiquer les éléments à modifier pour qu'il soit "PHP5 ready":
<?php
function clean($string)
{for($x= 0;$x<strlen($string);$x++)
{if ($string[$x]!=" "&&$string[$x]!=" "){$totale.=$string[$x];}
}
return $totale;
}
function clean2($string)
{$found=0;
for($x=0;$x<strlen($string);$x++)
{if (($string[$x]!=" ")||($string[$x]!=" ")||($found==0))
{
$found=0;
$totale.=$string[$x];
if (($string==" ")||($string[$x]==" "))
{$found=1;}
}
}
return($totale);
}
$auteur=clean2($auteur);
$reference=clean2($reference);
$theme=clean2($theme);
$texte=clean2($texte);
include('connect.inc');
print('<HTML><HEAD><TITLE> Moteur de Recherche Textes Philo</TITLE></HEAD>
Moteur de recherche de textes philosophiques
1117 textes disponibles dans la base
<FORM ACTION="search.php" METHOD="GET"><TD>
Auteur : </TD>
<TD>
Texte : </TD>
<TD>
Référence : </TD>
<TD>
Thème : </TD></TR>
<TR>
Opérateur logique "et" :');
if ($et == "on")
{print('');}
print('
Opérateur logique "ou" : ');
if ($et =="ou")
{print('');}
print('
</TD></FORM></TR>
');
if (isset($auteur)||isset($texte)||isset($reference)||isset($theme))
{
if ($auteur!="")
{$tab=$tab=explode(' ',$auteur);
$taille=$taille+count($tab);}
if ($texte!="")
{$tab=$tab=explode(' ',$texte);
$taille=$taille+count($tab);}
if ($reference!="")
{$tab=$tab=explode(' ',$reference);
$taille=$taille+count($tab);}
if ($theme!="")
{$tab=$tab=explode(' ',$theme);
$taille=$taille+count($tab);}
$dm=mysql_connect("sql.ac-grenoble.fr",$sqluser,$sqlpass) or die(mysql_error());
mysql_select_db("philo",$dm);
$result=mysql_query("SELECT*FROM textesphilo");
while($ligne=mysql_fetch_array($result))
{
$x=0;
if (clean($auteur)!="")
{$tab=explode(' ',$auteur);
for($t=0;$t<count($tab);$t++)
{if (strtolower($tab[$t])!='')
{
if(stristr(strtolower($ligne[auteur]),strtolower($tab[$t])))
{$x++;}
}
}
}
if (clean($texte)!="")
{$tab=explode(' ',$texte);
for($t=0;$t<count($tab);$t++)
{if (strtolower($tab[$t])!='')
{
if(stristr(strtolower($ligne[texte]),strtolower($tab[$t])))
{$x++;}
}
}
}
if (clean($reference)!="")
{$tab=explode(' ',$reference);
for($t=0;$t<count($tab);$t++)
{if (strtolower($tab[$t])!='')
{
if(stristr(strtolower($ligne[reference]),strtolower($tab[$t])))
{$x++;}
}
}
}
if (clean($theme)!="")
{$tab=explode(' ',$theme);
for($t=0;$t<count($tab);$t++)
{if (strtolower($tab[$t])!='')
{
if(stristr(strtolower($ligne[theme]),strtolower($tab[$t])))
{$x++;}
}
}
}
$totale+=$x;
if ($x!=0)
{$trb["$ligne[pos]"]=$x;
$aut["$ligne[pos]"]=$ligne[auteur];
$parttext["$ligne[pos]"]=substr($ligne[texte],0,400);
}
}
if (($totale>0))
{
asort($trb);
$x=-1;
foreach($trb as $key=>$val)
{$x++;
$pert[$x]=$val;
$lien[$x]=$key;
$aute[$x]=$aut[$key];
$tex[$x]=$parttext[$key];
}
for($x=(count($pert)-1);$x>=0;$x=$x-2)
{if ($et!="on"||$pert[$x]==$taille)
{
print(' Pertinence :'.$pert[$x].', Retour</HTML>
');?>
Tonio_35
Messages postés567Date d'inscriptionmercredi 4 octobre 2006StatutMembreDernière intervention30 août 201111 24 sept. 2009 à 09:20
Ce qui serais pas mal c'est que dans la barre de menu (Gras Italique...) il y a une boite "Réponses prédéfinies" avec
Code non formaté : Utilise la boîte "Code" en haut à gauche du formulaire ; et n'oublie pas les balises PHP : <?php ... ?> (Pour le php par exemple)
Code non indenté ...
Forum inapproprié ...
Pour afficher les erreurs php ...
Je sais que certaines fonctions de test ou de date retournais -1 en cas d'erreur, il étais donc rependus de faire des tests style
if(mafonction("bla")==-1)
echo "erreur" ;
alors que maintenant il faudrait plus utiliser le "=== false"...
Bonne matinée ! Et bon courage pour ta migration
_________________________________
Min iPomme
Vous n’avez pas trouvé la réponse que vous recherchez ?
gaisavoir
Messages postés2Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention 7 octobre 2009 7 oct. 2009 à 22:23
Bonsoir,
je fais remonter le fil car mon problème n'est pas résolu. J'ai implémenté les lignes qui permettent d'afficher les erreurs et à part quelques fonctions non déclarées aucun message significatif n'apparait. Pourtant la connexion à la base se fait bien mais aucun résultat ne s'affiche. Ça coince au niveau de la mise en ordre des résultats de la requête qui normalement devraient s'afficher dans la même page sous la forme d'un tableau qui affiche les premiers mots du texte dont le nom de l'auteur est cliquable, pour renvoyer au texte complet. Quand la page d'accueil avec les champs de recherche apparait, la ligne " Aucun texte de la base de données ne correspond à votre requête" s'affiche alors qu'elle ne doit s'afficher qu'en cas de recherche infructueuse. Donc il y a un dysfonctionnement... Mais lequel?
Merci pour votre aide