Une fonction if(mysqli actif) ??

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Une fonction if(mysqli actif) ??

par in4matik » 27 janv. 2009, 09:51

Salut et merci à tous pour vos réponses :)
Voici la technique la plus simple que j'ai trouvé en cherchant un peu...
if (!extension_loaded('mysqli')) {
//Execution de la requete en mysql.
}
else {
//Execution de la requete mysqli
}
Merci encore pour vos conseils. :D

Edit :Par contre, il faut que je me fasse une fonction pour automatiser le choix, lors d'une requête, parce que faire à chaque fois les deux requetes... Comme par exemple là...
if (!extension_loaded('mysqli')) {//Si la fonction mysqli n'est pas activée on execute la requete en mysql
		$connexion = mysql_connect($mysql['serv'], $mysql['id'], $mysql['mp'], $mysql['db'])or die("Impossible de se connecter à la base de donneés !");
		$rq ="requete d'insertion de donnnées";
		mysql_query($connexion, $rq)or exit(mysql_error());
	}
	else {//Sinon on execute en mysqli
		$connexion = mysqli_connect($mysql['serv'], $mysql['id'], $mysql['mp'], $mysql['db'])or die("Impossible de se connecter à la base de donneés !");
		$rq ="requete d'insertion de donnnées";
		mysqli_query($connexion, $rq)or exit(mysqli_error($connexion));
		
	}
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur][/php]

par albat » 26 janv. 2009, 16:34

function test_module($module)
   {
   // si présent
   return true;
   
   // sinon
   return false;
   }
Un peu d'élégance, que diantre ! :lol:
function test_module($module)
{ return test_presence($module);         // je te laisse écrire la fonction test_presence()
}

par Stef » 26 janv. 2009, 16:32

Sinon tu peux demander à l'utilisateur de choisir entre mysqli et mysql lors de l'installation (enfin, pour ce cas j'imagine que tu as créé un formulaire d'installation...)

par Berzemus » 26 janv. 2009, 16:23

Ok.
Mais cela ne me permet pas d'automatiser le choix. Si quelqu'un installe chez un hébergeur qui ne fourni pas mysqli, le site ne fonctionnera pas.

J'en déduis donc qu'il n'est pas possible de trouver une fonction ou une condition pour cela ?
... Ben si.

Si tu as une liste des modules installés, il devient possible de vérifier la présence de l'un ou l'autre module, non ?

Mais il faudra faire la fonction soi-même, c'est vrai..
function test_module($module)
   {
   // si présent
   return true;
   
   // sinon
   return false;
   }

par in4matik » 26 janv. 2009, 16:16

Ok.
Mais cela ne me permet pas d'automatiser le choix. Si quelqu'un installe chez un hébergeur qui ne fourni pas mysqli, le site ne fonctionnera pas.

J'en déduis donc qu'il n'est pas possible de trouver une fonction ou une condition pour cela ?

par stopher » 26 janv. 2009, 15:29

Salut ,

Tu peux simplement tester les modules actif de php , via la fonction phpinfo()

phpinfo(INFO_MODULES);
ou simplement avec : get_loaded_extensions()

Une fonction if(mysqli actif) ??

par in4matik » 26 janv. 2009, 15:16

Bonjour.

Je suis en train de développer un "cms" (ou quelquechose qui y correspond, c'est plus un passe temps qu'autre chose...) et je voulais savoir si il existait une condition du type

Code : Tout sélectionner

if (...)// Si mysqli est activé { // execution d'une requete mysqli } else //sinon { // requete mysql }
En effet, chez free, mysqli n'est pas activé et je préfèrerai garder mysqli pour les hébergeurs qui l'acceptent.
Merci pour vos conseils...