contrôle sur test vide [php && ajax]

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 : contrôle sur test vide [php && ajax]

par x@v » 09 avr. 2007, 04:41

finalement c'est une bonne solution, merci Ryle

par Ryle » 05 avr. 2007, 16:53

Ah bah infime peut être, mais bel et bien réelle, et il n'en faut pas plus à un système qui ne fonctionne qu'avec des 1 et des 0 pour lui dire que si c'est pas 1, c'est que c'est 0 ;)

Ceci dit, je pensais plus à quelque chose du genre :
$affiche = null;

if (!isSet($page)) { // charge la page d'accueil par défaut
  $requete = "..."; 
  $affiche = mysql_query($requete) or mysql_error(); 
}
else { // charge la page demandée
  $requete = "..."; 
  $affiche = mysql_query($requete) or mysql_error(); 
}

if (mysql_num_rows($affiche) > 0) { // s'il y a des enregistrements trouvés
  $txt = "...";
}
else { // s'il n'y en a pas
  $txt = "Le contenu est en cour de réécriture.... blabla";
}

par x@v » 05 avr. 2007, 16:44

C'est à dire un

Code : Tout sélectionner

isset($page)
test l'existance et

Code : Tout sélectionner

if($page=='')
test si la variable est vide la frontière est infime.

Code : Tout sélectionner

Ou tu pourrais ne charger l'accueil que si la variable $page n'est pas spécifiée, dans tous les autres cas tu charges la page et le test sur le nombre d'enregistrements te permet de savoir que la page est vide... bref y a sans doute plein de façon de le faire Smile

par Ryle » 04 avr. 2007, 08:37

Euh... en l'occurence, dans ton test tu n'affiches la page d'accueil que quand aucun élément n'est trouvé en base. Pas si l'élément est vide. Il suffirait de créer un enregistrement dans ta table pour que la page d'accueil ne soit pas chargée. Tu n'aurais alors qu'à faire un test dans ta boucle pour vérifier si l'enregistrement récupéré est vide et dans ce cas affiché ton message :)

Ou tu pourrais ne charger l'accueil que si la variable $page n'est pas spécifiée, dans tous les autres cas tu charges la page et le test sur le nombre d'enregistrements te permet de savoir que la page est vide... bref y a sans doute plein de façon de le faire :)

contrôle sur test vide [php && ajax]

par x@v » 04 avr. 2007, 03:08

Bonjour,
je planche sur une fonction qui se charge démarage mais elle sert ensuite pour afficher tout le site (tout vient d'une base).
http://88.167.164.83/avenir_formation_livrer/
Donc si c'est vide la page d'accueil s'affiche, l'ennui c'est que si un lien n'à pas de contenu, j'aimerai prévenir les utilisateurs que le contenu est vide ex:

Code : Tout sélectionner

Le contenu est en cour de réécriture.... blabla
donc avec ce que je fait si le contenu est vide, sa affiche la page d'accueil !
$requete="select * from article where page='$page' and creer is not null group by titre";
$recule=mysql_query($requete) or mysql_error();
if(mysql_num_rows($recule) == 0) {
	$requete="select * from article where titre='Accueil'";
	$affiche=mysql_query($requete) or mysql_error();
	$affiche= mysql_fetch_assoc($affiche);
	$txt .= '<div><p class="">'.$affiche['titre'];
	$txt .= '<div class="">'.stripslashes(ucfirst($affiche['article_text'])).'</div>';
	$txt .= '';
	}
while($test= mysql_fetch_assoc($recule)) {
	$txt .= '<div class="">'.stripslashes(ucfirst($test['article_text'])).'</div>';
	$title='Avenir-formations.org';
	$txt .= $title.'/'.$test['article_text'];
	}
Merci d'avance
PS: j'essaie d'être précis, c'est pas évident.[/code]