İf else komutu sorunu.

adalimTurgay Coşkun

Merhabalar,

kullandığım bir sms sisteminde dönen değer eğer sms başarılıyla gönderildi ise

$1234567#1.0

Burada 2234567 her mesajda değişiyor. Diğerleri sabit. 

Eğer hatalıysa dönen değer

20-sorun 1

21-sorun 2

22-sorun 3

23-sorun 4

burada dönen değer ler sade 20 veya 21 veya 22 gibi öif haneli sayılar. 

Sorunum mesaj gönderildi ise "mesaj gönderidi" yazsın

eğer hata mesajları dödü ise 23 döndü ise "sorun4", 22 döndü ise "Sorun 3" yazsın. 

2013-09-28 14:08:37

Php

switch case kullan  o tarz islemde  if else ile uzatmaya gerek yok switch isini cozer

2013-09-28 18:58:07

Php

adalimTurgay Coşkun

Pek anlamadığımdan sorunu böyle uzun yollu çözdüm.

     function SendMutlucell(){

        $params = $this->getParams();

// XML - formatında data

$xml_data ='<?xml version="1.0" encoding="UTF-8"?>'.

'<smspack ka="'.$params->user.'" pwd="'.$params->pass.'" org="'.$params->senderid.'" >'.

'<mesaj>'.

'<metin>'.$this->message.'</metin>'.

'<nums>'.$this->gsmnumber.'</nums>'.

'</mesaj>'.

'</smspack>';

$URL = "https://smsgw.mutlucell.com/smsgw-ws/sndblkex";

        $ch = curl_init($URL);

        curl_setopt($ch, CURLOPT_MUTE, 1);

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

        curl_setopt($ch, CURLOPT_POST, 1);

        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));

        curl_setopt($ch, CURLOPT_POSTFIELDS, "$xml_data");

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        $result = curl_exec($ch);

curl_close($ch);

        $return = $result;

        $this->addLog("Geri Dönüş Kodu: ".$result);

$h0 =20;

$h1=21;

$h2=22;

$h3=23;

$h4=24;

$h5=25;

$h6=30;

if($return == $h0):

$this->addLog("Post edilen xml eksik veya hatalı.Hata Kodu: $return");

$this->addError("Post edilen xml eksik veya hatalı.Hata Kodu: $return");

elseif($return == $h1):

$this->addLog("Kullanılan originatöre sahip değilsiniz.Hata Kodu: $return");

$this->addError("Kullanılan originatöre sahip değilsiniz.Hata Kodu: $return");

elseif($return == $h2):

$this->addLog("Kontörünüz yetersiz.Hata Kodu: $return");

$this->addError("Kontörünüz yetersiz.Hata Kodu: $return");

elseif($return == $h3):

$this->addLog("Kullanıcı adı ya da parolanız hatalı. Hata Kodu: $return");

$this->addError("Kullanıcı adı ya da parolanız hatalı. Hata Kodu: $return");

elseif($return == $h4):

$this->addLog("Şu anda size ait başka bir işlem aktif.Hata Kodu: $return");

$this->addError("Şu anda size ait başka bir işlem aktif.Hata Kodu: $return");

elseif($return == $h5):

$this->addLog("Bu hatayı alırsanız, işlemi 1-2 dk sonra tekrar deneyin.Hata Kodu: $return");

$this->addError("Bu hatayı alırsanız, işlemi 1-2 dk sonra tekrar deneyin.Hata Kodu: $return");

elseif($return == $h6):

$this->addLog("Hesap Aktivasyonu sağlanmamış.Hata Kodu: $return");

    $this->addError("Hesap Aktivasyonu sağlanmamış.Hata Kodu: $return");

else:

    $this->addLog("Mesaj Başarıyla Gönderildi.");

    $this->saveToDb($result);

endif;

    }

2013-09-28 20:13:33 Edit:2013-09-28 20:14:27

Php

cgtydvcÇağatay Deveci

Bozkurtmanas'ın dediği gibi swicth case yapısı daha derli topludur. İF koşulunu fazla şartlar gösterdiğinde kodlamada karışıklığa neden olabilir. Önemli olan hangi program olursa olsun bir programcı doğru olan ve işini daha düzgün ifade eden kodu şeçmeli..

senin yapına gelirsek:

swicth($return){

case $h1:

$this->addLog("Kullanılan originatöre sahip değilsiniz.Hata Kodu: $return");

$this->addError("Kullanılan originatöre sahip değilsiniz.Hata Kodu: $return");

break;

case $h2:

$this->addLog("Kontörünüz yetersiz.Hata Kodu: $return");

$this->addError("Kontörünüz yetersiz.Hata Kodu: $return");

break;

case $h3:

 $this->addLog("Kullanıcı adı ya da parolanız hatalı. Hata Kodu: $return");

$this->addError("Kullanıcı adı ya da parolanız hatalı. Hata Kodu: $return");

break;

elseif($return == $h4):

$this->addLog("Şu anda size ait başka bir işlem aktif.Hata Kodu: $return");

$this->addError("Şu anda size ait başka bir işlem aktif.Hata Kodu: $return");

case $h5:

 $this->addLog("Bu hatayı alırsanız, işlemi 1-2 dk sonra tekrar deneyin.Hata Kodu: $return");

$this->addError("Bu hatayı alırsanız, işlemi 1-2 dk sonra tekrar deneyin.Hata Kodu: $return");

break;

case $h6:

 $this->addLog("Hesap Aktivasyonu sağlanmamış.Hata Kodu: $return");

    $this->addError("Hesap Aktivasyonu sağlanmamış.Hata Kodu: $return");

break;

default:

    $this->addLog("Mesaj Başarıyla Gönderildi.");

    $this->saveToDb($result);

break;

}

bu şekilde daha derli toplu olur.

2013-09-30 10:33:37

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro