Boucle do while + header()

csicava Messages postés 2 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 3 août 2006 - 3 août 2006 à 13:49
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 3 août 2006 à 17:03
bonjour,

j'ai un petit pb urgent, je voudrai utiliser la fonction header() avec une boucle do while
ex:

<?php do { //parcours toute la table vaccin1
// Definition des variables. script F.Geoffriau 02/08/06
$jour = date("l");
$nb_jour = date("d");
$mois = date("m");
$annee = date("Y");
$heures = date("H");
$minutes = date("i");
$secondes = date("s"); 
$temps = "$nb_jour-$mois-$annee"; // temps serveur
$date_vaccins1 = $row_vaccins['Rappel_date_vaccin_1'] ;
$animal = $row_vaccins['Animal_nom'] ;
$mail_client = $row_vaccins['Client_mail'];
$dr = $row_vaccins['nom'];
$mail_veto = $row_vaccins['email'];
$tel_veto = $row_vaccins['tel_fixe'];
//définir si la date du jour est egale à la date d'envoi. si oui envoi sms
if ($temps == $date_vaccins1)
    {  //début de l'envoi sms
  header("Location:http://www.smsMode.com/fr/1.5/sendSMS.do?pseudo=csicava&pass=orient&message=LeDr $dr vous rappel que $animal doit recevoir ses vaccins  avant le $date_vaccins1 - Appelez-nous au $tel_veto&numero=0686021410");
 // fin envoi sms 
  }
else {
   }
} while ($row_vaccins = mysql_fetch_assoc($vaccins)); ?>

Le pb c'est que j'ai l'impression que lorsque la fonction header() est réalisée ma boucle ne marche pas. Le meme script fonctionne tres bien avec la fonction mail(). Si quelqu'un peut m'aider

Merci d'avance.
F.Geoffriau

5 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
3 août 2006 à 13:54
Salut, une fois que le premier header de la oucle a été envoyé, la redirection s'effectue et le reste du script ne sert plus à rien.
à+
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 août 2006 à 14:04
Hello,

comme le dit Evangun, un header fait une redirection : tu changes de page! Donc, si tu changes de page, le reste du script sur la page initiale ne peut pas s'exécuter, c'est tout à fait normal.
Maintenant, je vois ce que tu veux faire : envoyer un SMS, visiblement. Ce n'est pas comme ça qu'on gère ce genre d'envois. Il faut envoyer tes données à la page (et le serveur) gérant l'envoi de SMS. Mais pas aller sur cette page. Pour ça, plusieurs moyens...dépendant du serveur gérant l'envoi des SMS.

En l'occurence, en voyant ça :
   {  //début de l'envoi sms
  header("Location:http://www.smsMode.com/fr/1.5/sendSMS.do?pseudo= csicava&pass=orient&message=LeDr $dr vous rappel que $animal doit recevoir ses vaccins  avant le $date_vaccins1 - Appelez-nous au $tel_veto&numero=0686021410");
 // fin envoi sms 

Je serais tenter de te dire de faire ceci :

{ // début envoi sms
   $sDatas = ' pseudo=csicava&pass=orient&message=LeDr $dr vous rappel que $animal doit recevoir ses vaccins  avant le $date_vaccins1 - Appelez-nous au $tel_veto&numero=0686021410'
  $rCurl = curl_init();
  curl_setopt ($rCurl, CURLOPT_URL, "http://www.smsMode.com/fr/1.5/sendSMS.do/");
  curl_setopt ($rCurl, CURLOPT_HEADER, false);
  curl_setopt ($rCurl, CURLOPT_POSTFIELDS, $sDatas);
  curl_setopt ($rCurl, CURLOPT_RETURNTRANSFER, true);
  $bResult = curl_exec ($rCurl);
  curl_close ($rCurl);
} // fin envoi sms 

à voir quand même avec le serveur, et en matant l'extension CURL sur php.net
0
csicava Messages postés 2 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 3 août 2006
3 août 2006 à 15:03
le script me semble bon, mais j'ai une réponse :
Parse error: parse error, unexpected T_VARIABLE in /home/.sites/123/site19/web/envoi_sms.php on line 29

la ligne 29 : $rCurl = curl_init();

peut-etre que mon serveur php (version 4.3.10) n'est pas compilé avec libcurl 
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 août 2006 à 16:12
 $sDatas = 'pseudo=csicava&pass=orient&message=LeDr $dr vous rappel que $animal doit recevoir ses vaccins  avant le $date_vaccins1 - Appelez-nous au $tel_veto&numero=0686021410';

=> j'ai oublié le point-virgule final... ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 août 2006 à 17:03
call to undefined function blabla veut dire que la fonction n'existe pas.
En clair, ton serveur n'a pas l'extension CURL Chargée.

http://fr2.php.net/manual/fr/ref.curl.php
0
Rejoignez-nous