Exor
WM Aracı
Kullanıcı
-
Üyelik
07.11.2013
-
Yaş/Cinsiyet
38 / E
-
Meslek
Web&Grafik Tasarım
-
Konum
Samsun
-
Ad Soyad
B** B**
-
Mesajlar
169
-
Beğeniler
16 / 7
-
Ticaret
0, (%0)
Merhabalar,
Bir hatırlatıcı sistemi yazdım takvim gibi ve ilk 5 tarihi bana sms olarak bildirmesini istiyorum.
Sms modülü tamam. (iletimerkezi)
Herşey hazır tek sorun. ilk 5 tarihli verileri çekiyorum fakat sms modülü $mesaj değişkenini gönderiyor. Fakat veritabanından gelen 5 veri olduğu için değişkende sıkıntı yaşıyorum. Aşağıda daha detaylı anlatacağım.
require_once ('baglan.php');
require_once ('includes/sms.class.php');
$sms = new smsGonder;
$numara = '05419565455';
$hatirlatilacakcek=mysql_query("SELECT * FROM hatirlat ORDER BY start ASC");
while($hc=mysql_fetch_array($hatirlatilacakcek)){
echo $hc['title'].' - '.date('d.m.Y', strtotime($hc['start'])).'
';
}
$mesaj = 'Bu bir deneme mesajıdır.';
$cevap = $sms->sendSms($numara, $mesaj);
if ($cevap == '200') {
$sobakiye=$sms->getBalance();
$smslogkayit=mysql_query("INSERT INTO smsonay (sodurum,sobakiye,sohata) VALUES ('1','$sobakiye','$cevap')");
}else {
$sobakiye=$sms->getBalance();
$smslogkayit=mysql_query("INSERT INTO smsonay (sodurum,sobakiye,sohata) VALUES ('2','$sobakiye','$cevap')");
}
?>
Bu kodlarda görülen 8inci satırda; ilk 5 hatırlatıcı ismi ve tarihi gösteriyor.
10uncu satırda; mesaj değişkeni içinde istenilen mesaj sms olarak gönderiliyor.
Benim yapmak isteyip yapamadığım ise mesaj değişkenine while döngüsünden gelen verileri tek seferde yazdırıp sms olarak gönderebilmek.
Bunu nasıl yapabilirim sizce? Açıklayıcı şekilde yazarsanız çok memnun olurum. Şimdiden teşekkür ederim.
-
Üyelik
19.02.2017
-
Yaş/Cinsiyet
24 / E
-
Meslek
Web Developer
-
Konum
Bursa
-
Ad Soyad
M** A**
-
Mesajlar
933
-
Beğeniler
136 / 276
-
Ticaret
11, (%100)
while döngüsünün hemen üstüne boş bir değişken tanıma;
$text = '';
Daha sonra;
echo $hc['title'].' - '.date('d.m.Y', strtotime($hc['start']));
kodunu
$text .= $hc['title'].' - '.date('d.m.Y', strtotime($hc['start']));
olarak değiştir. Döngünün dışında ise echo $text diyerek döngünün sonucuna ulaşabilirsin.
1 kişi bu mesajı beğendi.
Exor
WM Aracı
Kullanıcı
-
Üyelik
07.11.2013
-
Yaş/Cinsiyet
38 / E
-
Meslek
Web&Grafik Tasarım
-
Konum
Samsun
-
Ad Soyad
B** B**
-
Mesajlar
169
-
Beğeniler
16 / 7
-
Ticaret
0, (%0)
Dediğini yapıp while döngüsünün dışına taşıdım. Fakat hala yazdırmada problem yaşıyorum nedense.
require_once ('baglan.php');
require_once ('includes/sms.class.php');
$sms = new smsGonder;
$numara = '05419565455';
$hatirlatilacakcek=mysql_query("SELECT * FROM hatirlat ORDER BY start ASC");
$mesaj='';
while($hc=mysql_fetch_array($hatirlatilacakcek)){
$mesaj.= $hc['title'].' - '.date('d.m.Y', strtotime($hc['start'])).'
';
}
$cevap = $sms->sendSms($numara, $mesaj);
if ($cevap == '200') {
$sobakiye=$sms->getBalance();
$smslogkayit=mysql_query("INSERT INTO smsonay (sodurum,sobakiye,sohata) VALUES ('1','$sobakiye','$cevap')");
}else {
$sobakiye=$sms->getBalance();
$smslogkayit=mysql_query("INSERT INTO smsonay (sodurum,sobakiye,sohata) VALUES ('2','$sobakiye','$cevap')");
echo mysql_error();
}
?>
Son hali bu oldu fakat nedense gönderim durumunu 2 olarak kaydedip duruyor.
(1-Başarılı, 2-Başarısız)
Burada bir yanlışlık varda ben mi göremiyorum.
Ayrı olarak bir sayfa oluşturup dediğinizi yaptığımda ekrana sorunsuz yazdırdı.
mesaj değişkenini başka bir değişkene atayarak tekrar yazdırdım ($yenimesaj=$mesaj) ayrı oluşturduğumda yine çalıştı benim kodlarda çalışmadı.
tiwaly
NodeJS / PHP / NoSQL
Kullanıcı
-
Üyelik
10.10.2013
-
Yaş/Cinsiyet
34 / E
-
Meslek
Yazılımcı
-
Konum
İzmir
-
Ad Soyad
i** A**
-
Mesajlar
363
-
Beğeniler
135 / 104
-
Ticaret
7, (%100)
iletimerkezi apisinde mesaj gönderirken karakter sınırı olabilir mi ? 160 karakteri geçiyorsa belki o sebeple göndermiyordur.
Exor
WM Aracı
Kullanıcı
-
Üyelik
07.11.2013
-
Yaş/Cinsiyet
38 / E
-
Meslek
Web&Grafik Tasarım
-
Konum
Samsun
-
Ad Soyad
B** B**
-
Mesajlar
169
-
Beğeniler
16 / 7
-
Ticaret
0, (%0)
160 karakter sınırını da uygun hale getirdim fakat hala başarısız uyarısı alıyorum.
Edit: Döngü ile yaptığımda gönderim başarısız diyor. Fakat;
$mesaj='Bu bir deneme mesajıdır.';
yazdığımda başarılı bir şekilde sms gidiyor.
Son Edit: { Çözüm }
Sıkıntıyı buldum. Normal gönderimde gönderip while ile göndermediğinde içerikte birşey olduğunu düşündüm ve haklıymışım.
Sonda bulunan
kodu gönderimi engelliyormuş.
Yardımcı olan arkadaşlara teşekkür ederim.