2011-11-04 10 views
-3

J'ai créé le script d'ajout de commentaire.Pourquoi le script ne fonctionne pas correctement?

Source -

if (isset($_GET['do']) and $_GET['do'] == 'comment'){//Ja viss kārtībā, turpinam 
       if (!empty($_POST['name']) and !empty($_POST['artcl_id']) and !empty($_POST['homepage']) and !empty($_POST['text'])){ 
        $name = trim($_POST['name'],' '); 
        $artcl_id = trim($_POST['artcl_id'],' '); 
        $homepage = trim($_POST['homepage'],' '); 
        $text = trim($_POST['text'],' '); 
        Model::factory('index') 
          ->send_commentar(mysql_real_escape_string($name), mysql_real_escape_string($artcl_id), mysql_escape_string($homepage), mysql_real_escape_string($text), mysql_real_escape_string(time())); 
        ?> 
        <script type="text/javascript"> 
         alert("Thank you! :)"); 
        </script> 
        <meta http-equiv="REFRESH" content="0;url=/article/<?php echo $slug; ?>"/> 
        <?php 

       } else { 
        $this->template->content = View::factory('index/error')->set('message', 'How to submit empty comment?'); 
       } 
     } 

Mais si je mettais des espaces blancs dans le champ d'entrée, le script envoyer des espaces blancs. Pourquoi le script ne fonctionne pas correctement?

+0

"ils ont commencé à travailler" est une déclaration incorrecte ainsi –

Répondre

2

Vous supprimez des espaces après avoir coché des champs vides. Tu ne veux pas que ça tourne? Supprimez d'abord les espaces blancs, puis recherchez les champs vides.

+0

enfin la réponse qui l'a cloué! –

+0

Merci beaucoup, Zac L, j'ai corrigé le script et ils commencent à travailler! :) – reGative

0

fonction trim ne supprime début et de fin ... si les espaces blancs que vous voulez supprimer l'espace blanc de chaîne entière, vous pouvez utiliser la fonction str_replace() ..

$artcl_id = str_replace(" ","",$artcl_id); 

comme sage, cela peut être appliqué à tous vos champs ...

-1

essayer trim($var,"\s") peut-être le char fin n'est pas un « » mais il est un « \ s »

+0

oh. quelle syntaxe est-ce? –

1

doit ici être une leçon sur la logique formelle.
Strictement parlant, vous ne pouvez pas déclarer que "trim() ne fonctionne pas" sur la base des observations indirectes.

Seule une vérification directe (et reproductible!) Peut être une raison pour de telles déclarations.

Si vous vérifiez le résultat trim() juste après l'avoir appelé, vous pouvez blâmer cette fonction.
Sinon, vous devez déboguer votre code pour trouver la raison réelle.
Espérons que cela aide :)

Questions connexes