2009-11-25 3 views
0

J'avais une zone de texte, quand je poste ce contenu dans textarea, je reçois seulement le premier mot avant qu'un espace soit donné. Par exemple, si ma valeur dans textarea est 'Il est un homme fou', je reçois seulement 'Il'.Large String pendant le POST ignore les lettres après l'espace

plz Aidez-moi à résoudre ce problème;

code:

<form name="SendSMS" method="post" action="admin_main.php"> 
       <div class="reg_item">Category </div> 
       <div class="reg_item"> 
        <select name="cat" class="reg_combo" class="tboxstyle"> 
         <option value="car" class="tboxstyle">Carrer</option> 
         <option value="tho" class="tboxstyle">Thoughts</option> 
         <option value="jok" class="tboxstyle">Jokes</option> 
         <option value="hea" class="tboxstyle">Health</option> 
        </select> 
       </div><br /> 


       <div class="reg_item">Message </div> 
       <div class="reg_item"><input type="text" name="message" class="tboxstyle"></input></div><br /> 



       <? 
          if ($_SERVER['REQUEST_METHOD'] == 'POST') 
          { 

          $msms=new sms(); 
          $msms->sendsms(); 


          } 

         ?> 


       <div class="reg_item"><input type="submit" name="register" value="Send >>" /></div> 
       </form> 
fonction

:

function sendsms() 
     { 
     try 
      { 

           $cat    =$_POST[cat]; 
       $message  =$_POST[message]; 
           $link="http://www.aswinanand.com/sendsms.php?uid=9488446874&pwd=sivad&phone=9952880550&msg=dg"; 
       $table=""; 

       if($cat=="car") 
       { 
        $table=="carrer_memb"; 
       } 
       elseif($cat=="tho") 
       { 
        $table=="thoughts_memb"; 
       } 
       elseif($cat=="jok") 
       { 
        $table=="jokes_memb"; 
       } 
       elseif($cat=="hea") 
       { 
        $table=="health_memb"; 
       } 



       $result = mysql_query("SELECT mobile FROM carrer_memb"); 

           while($row = mysql_fetch_array($result)) 
           { 
            echo $message; 
            $link="http://www.aswinanand.com/sendsms.php?uid=9488486874&pwd=sivakasi&phone=".$row['mobile']."&msg=".$message; 
            $contents = file_get_contents($link); 
            echo $contents; 
            //header("Location: http://www.aswinanand.com/sendsms.php?uid=9488486874&pwd=sivakasi&phone=".$row['mobile']."&msg=".$message); 


           } 



      } 
     catch(Exception $e) 
      { 
       echo 'Caught exception: ', $e->getMessage(), "\n"; 
      } 
     } 








} 
+2

pouvons-nous voir votre code? PHP ou .NET ou (PHP.NET)? – Gregoire

+0

Pouvez-vous donner un exemple html? –

Répondre

6

Vous devez appliquer urlencode fonction à toutes les valeurs dans la chaîne de lien:

$params = array(
    'uid' =>urlencode($uid), 
    'pwd' =>urlencode($pwd), 
    'phone'=>urlencode($row['mobile']), 
    'msg' =>urlencode($message) 
); 
$link= 'http://www.aswinanand.com/sendsms.php?' . http_build_query($params) 

post-scriptum changez votre mot de passe, et ne publiez jamais votre nom d'utilisateur et mot de passe en ligne

+0

Vous avez tapé ma réponse plus rapidement que moi. :) – Muxecoid

+0

Merci son fonctionnement bien – Rajasekar

+0

Thats mauvais nom d'utilisateur, mot de passe mate. LOL – Rajasekar

0

Votre navigateur est 99,99% de chances d'être correctement POSTer le contenu (utiliser une extension Firefox comme Firebug ou LiveHTTPHeaders être certain). Le problème est presque certainement dans votre code côté serveur qui analyse la requête HTTP. Y a-t-il une chance que vous puissiez publier cela et en expliquer un peu plus sur votre environnement?

Questions connexes