Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!


1Beğeni
  • 1 Yazan MuhammedArslan

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > PHP

[Çözüldü] While döngüsü ile gelen veriyi değişkene atamak

  #1  
Okunmamış 15 Mart 2019, 23:11
Exor Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 07 Kasım 2013
Yaş / Cinsiyet: 32 / Erkek
Konum: Samsun
Ad, Soyad: Bu... Ba...
Mesajlar: 168
Beğeniler: 6 / 16
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.


PHP- Kodu:
<?php
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'])).'<br />';
}
    
$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.
Konu Exor tarafından (16 Mart 2019, 11:09 ) değiştirilmiştir. Sebep: Çözüldü
  #2  
Okunmamış 15 Mart 2019, 23:33
MuhammedArslan Adlı Üyenin Avatarı
Msa Web Tasarım
 
Üyelik Tarihi: 19 Şubat 2017
Cinsiyet: Erkek
Meslek: Web Developer
Konum: Bursa
Ad, Soyad: Mu... Ar...
Mesajlar: 910
Beğeniler: 278 / 136
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.
ibrahimdemir bunu beğendi.
  #3  
Okunmamış 15 Mart 2019, 23:57
Exor Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 07 Kasım 2013
Yaş / Cinsiyet: 32 / Erkek
Konum: Samsun
Ad, Soyad: Bu... Ba...
Mesajlar: 168
Beğeniler: 6 / 16
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.

PHP- Kodu:
<?php
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'])).'<br />';
}
    
$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ı.
Konu Exor tarafından (15 Mart 2019, 23:59 ) değiştirilmiştir.
  #4  
Okunmamış 16 Mart 2019, 00:34
tiwaly Adlı Üyenin Avatarı
NodeJS / PHP / NoSQL
 
Üyelik Tarihi: 10 Ekim 2013
Yaş / Cinsiyet: 29 / Erkek
Meslek: Yazılımcı
Konum: İzmir
Ad, Soyad: ib... Al...
Mesajlar: 380
Beğeniler: 103 / 135
Ticaret: 7, 100%
iletimerkezi apisinde mesaj gönderirken karakter sınırı olabilir mi ? 160 karakteri geçiyorsa belki o sebeple göndermiyordur.
  #5  
Okunmamış 16 Mart 2019, 10:51
Exor Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 07 Kasım 2013
Yaş / Cinsiyet: 32 / Erkek
Konum: Samsun
Ad, Soyad: Bu... Ba...
Mesajlar: 168
Beğeniler: 6 / 16
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;
PHP- Kodu:
$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 <br /> kodu gönderimi engelliyormuş.

Yardımcı olan arkadaşlara teşekkür ederim.
Konu Exor tarafından (16 Mart 2019, 11:08 ) değiştirilmiştir. Sebep: Sorun çözüldü.
Cevap Yaz Favorilerime Ekle


Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > PHP


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 03:03.