אני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה
-
@צדיק-תמים כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
אז כדאי שתעלה את הקוד כולו כדי שמשתמשים שמתעסקים בPHP (=לא אני) יוכלו לעזור לך...
@צדיק-תמים צודק אם תביא את הקוד אולי אני יוכל לעזור לך ואם זה קוד שאתה מעדיף לא לפרסם תוכל לשלוח לי במייל kavkosher@gmail.com
-
@MGM-IVR @קו-כשר-מערכות-טל הנה הקוד
$str = ''; $asd00 = $zxc['1']; for ($x = 0; $x < count((array)$asd00); $x++) { //unset($read0); if($x>0&&$read0==null){echo "read=t-לשמיעה חוזרת הקישו אחת, למעבר לחלק הבא הקישו שתיים או המתינו=read0,,1,1,,NO,,,,12,,Ok,,,no";exit(); if ($read0=='1'){ $x--; } } unset($read0); unset($str); $str=''; $str .= ' מספר ' . ($x + 1).',,'; $asd0 = $zxc['1'][$x]['0']; for ($i = 0; $i < count((array)(array)$asd0); $i++) { $asd = $zxc['1'][0]['0'][$i]; ........ $asd1 = $asd['1']; for ($j = 0; $j < count((array)$asd1); $j++) { $asd2 = $asd1[$j]; $str .= ',, פירוט חלק' . ($j + 1) . ' ,,,'; .... $str=edit($str); echo "id_list_message=t-$str &"; //unset($read1); if($read1==null){echo "read=t-לקבלת פירוט על שלב זה הקישו 1, לדילוג והמשך לשלב הבא הקישו 2=read1,,1,1,,NO,,,,12,,,,,no";exit(); if ($read1=='2'){ unset($read1); unset($str); continue; } } else{ unset($read1); unset($str); $str=''; if ($tipe == 'TRANSIT') { ..... $str=edit($str); echo "id_list_message=t-$str &"; } if (!isset($asd2["2"])) { continue; } $asd3 = $asd2["2"]; for ($y = 0; $y < count((array)$asd3); $y++) { $asd4 = $asd3[$y]; ..... $str=edit($str); echo "id_list_message=t-$str &"; //unset($read2); if($read2==null){echo "read=t-לשמיעה חוזרת של חלק זה הקישו אחת, להמשך לחלק הבא הקישו שתיים או המתינו=read2,,1,1,,NO,,,,12,,,,,no";exit();} if ($read2=='1') echo "id_list_message=t-$str &"; } } } } } }
טשטשתי קצת, בתקווה להבנה...
-
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
@MGM-IVR @קו-כשר-מערכות-טל הנה הקוד
$str = ''; $asd00 = $zxc['1']; for ($x = 0; $x < count((array)$asd00); $x++) { //unset($read0); if($x>0&&$read0==null){echo "read=t-לשמיעה חוזרת הקישו אחת, למעבר לחלק הבא הקישו שתיים או המתינו=read0,,1,1,,NO,,,,12,,Ok,,,no";exit(); if ($read0=='1'){ $x--; } } unset($read0); unset($str); $str=''; $str .= ' מספר ' . ($x + 1).',,'; $asd0 = $zxc['1'][$x]['0']; for ($i = 0; $i < count((array)(array)$asd0); $i++) { $asd = $zxc['1'][0]['0'][$i]; ........ $asd1 = $asd['1']; for ($j = 0; $j < count((array)$asd1); $j++) { $asd2 = $asd1[$j]; $str .= ',, פירוט חלק' . ($j + 1) . ' ,,,'; .... $str=edit($str); echo "id_list_message=t-$str &"; //unset($read1); if($read1==null){echo "read=t-לקבלת פירוט על שלב זה הקישו 1, לדילוג והמשך לשלב הבא הקישו 2=read1,,1,1,,NO,,,,12,,,,,no";exit(); if ($read1=='2'){ unset($read1); unset($str); continue; } } else{ unset($read1); unset($str); $str=''; if ($tipe == 'TRANSIT') { ..... $str=edit($str); echo "id_list_message=t-$str &"; } if (!isset($asd2["2"])) { continue; } $asd3 = $asd2["2"]; for ($y = 0; $y < count((array)$asd3); $y++) { $asd4 = $asd3[$y]; ..... $str=edit($str); echo "id_list_message=t-$str &"; //unset($read2); if($read2==null){echo "read=t-לשמיעה חוזרת של חלק זה הקישו אחת, להמשך לחלק הבא הקישו שתיים או המתינו=read2,,1,1,,NO,,,,12,,,,,no";exit();} if ($read2=='1') echo "id_list_message=t-$str &"; } } } } } }
טשטשתי קצת, בתקווה להבנה...
לא בדיוק הצלחתי להבין מה זה הקוד הזה, תרם לכך רבות השמות של המשתנים שממש עזרו להבין את הקוד...
בכל מקרה, אחרי שאתה מדפיס ערך אם מבחינתך סיימת את הקוד , שים לו exit שיפסיק את הקוד, וככה הוא לא יחזיר לך פעמיים.
-
הקוד הזה בנוי עם הרבה פונקציות שאני לא מכיר אבל עדיין כבר מצאתי
- שורה 51 אמורה ליהות בתוך 53
ככל הנראה חסר לך בכמה מקומות exit; אבל כאמור אני לא מבין בדיוק מה הולך כאן אז אני לא יכול להצביע על מיקום
אני ינסה להריץ בשרת ולראות אולי אני ימצא עוד דברים
$str = ''; $asd00 = $zxc['1']; for ($x = 0; $x < count((array)$asd00); $x++) { //unset($read0); if($x>0&&$read0==null){echo "read=t-לשמיעה חוזרת הקישו אחת, למעבר לחלק הבא הקישו שתיים או המתינו=read0,,1,1,,NO,,,,12,,Ok,,,no";exit(); if ($read0=='1'){ $x--; } } unset($read0); unset($str); $str=''; $str .= ' מספר ' . ($x + 1).',,'; $asd0 = $zxc['1'][$x]['0']; for ($i = 0; $i < count((array)(array)$asd0); $i++) { $asd = $zxc['1'][0]['0'][$i]; ........ $asd1 = $asd['1']; for ($j = 0; $j < count((array)$asd1); $j++) { $asd2 = $asd1[$j]; $str .= ',, פירוט חלק' . ($j + 1) . ' ,,,'; .... $str=edit($str); echo "id_list_message=t-$str &"; //unset($read1); if($read1==null){echo "read=t-לקבלת פירוט על שלב זה הקישו 1, לדילוג והמשך לשלב הבא הקישו 2=read1,,1,1,,NO,,,,12,,,,,no";exit(); if ($read1=='2'){ unset($read1); unset($str); continue; } } else{ unset($read1); unset($str); $str=''; if ($tipe == 'TRANSIT') { ..... $str=edit($str); echo "id_list_message=t-$str &"; } if (!isset($asd2["2"])) { continue; } $asd3 = $asd2["2"]; for ($y = 0; $y < count((array)$asd3); $y++) { $asd4 = $asd3[$y]; ..... $str=edit($str); //unset($read2); if($read2==null){echo "id_list_message=t-$str &"; echo "read=t-לשמיעה חוזרת של חלק זה הקישו אחת, להמשך לחלק הבא הקישו שתיים או המתינו=read2,,1,1,,NO,,,,12,,,,,no";exit();} if ($read2=='1') echo "id_list_message=t-$str &"; } } } } } }
-
פוסט זה נמחק! -
@קו-כשר-מערכות-טל כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
שורה 51 אמורה ליהות בתוך 53
לא הבנתי
שורה 51 זה שליחת הקוד לפונקצייה שמעבדת את הקוד ומסירה ממנו תווי HTML וכדומה ומחזירה סטרינג נקי, ואת זה אני מדפיס.
איפה אני צריך לשים exit? אחרי איזה שורות למשל? -
@MGM-IVR תסתכל בקוד שהוא הביא אני כבר שיניתי
-
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
@קו-כשר-מערכות-טל כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
שורה 51 אמורה ליהות בתוך 53
לא הבנתי
שורה 51 זה שליחת הקוד לפונקצייה שמעבדת את הקוד ומסירה ממנו תווי HTML וכדומה ומחזירה סטרינג נקי, ואת זה אני מדפיס.
איפה אני צריך לשים exit? אחרי איזה שורות למשל?התבלבלת עם שורה 50
-
@קו-כשר-מערכות-טל כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
איפה אני צריך לשים exit? אחרי איזה שורות למשל?
איפה שאתה גומר להדפיס
-
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
איפה אני צריך לשים exit? אחרי איזה שורות למשל?
אחרי שאתה עונה ללקוח ומבחינתך לסיים את הריצה של הסקריפט
למשל אחרי שורה 51 / 55 -
@MGM-IVR כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
איפה אני צריך לשים exit? אחרי איזה שורות למשל?
אחרי שאתה עונה ללקוח ומבחינתך לסיים את הריצה של הסקריפט
למשל אחרי שורה 51 / 55אבל זה לולאה, הוא חוזר לשם אח"כ עוד פעם, אפילו הכי?
ולמה זה גורם ה exit הזה? -
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
ולמה זה גורם ה exit הזה?
זה אומר לשרת לעצור את הקוד
-
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
אבל זה לולאה, הוא חוזר לשם אח"כ עוד פעם, אפילו הכי?
ולמה זה גורם ה exit הזה?אם הדפסת ללקוח תשובה, למה אתה צריך להמשיך את הלולאה?
exit זה יציאה...
בחלק מהקוד שמת כבר... -
@MGM-IVR כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
אם הדפסת ללקוח תשובה, למה אתה צריך להמשיך את הלולאה?
כי הדפסתי לו את מה שיצא בריצה הראשונה של הלולאה, ואני שואל אותו האם להמשיך ולהיכנס ללולאה פעם שניה או לחזור על הפעם הראשונה
@MGM-IVR כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
exit זה יציאה...
לגמרי? מכל הקוד כולו? או מה?
@MGM-IVR כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
בחלק מהקוד שמת כבר...
רק אחרי read
-
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
כי הדפסתי לו את מה שיצא בריצה הראשונה של הלולאה, ואני שואל אותו האם להמשיך ולהיכנס ללולאה פעם שניה או לחזור על הפעם הראשונה
לא הבנתי...
כשאתה מדפיס"id_list_message=t-$str &"
זה סיום הקוד לא?
אתה עושה לולאה שמדפיסה
"id_list_message=t-$str &""id_list_message=t-$str &""id_list_message=t-$str &""id_list_message=t-$str &"
???
זה לא טקסט תקין של הדפסה לימות.@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
לגמרי? מכל הקוד כולו? או מה?
כן, מסיים את הריצה שלו.
-
@שמואל-ש
נראה לי שאתה סתם סיבכת את העינינים מה אתה רוצה לעשות
אתה רוצה שיקבל json וישמיע למשתמכש כל פעם ערך אחד ואם היקיש אחד יעבור לערך הבאה? -
@MGM-IVR @קו-כשר-מערכות-טל אני נכנס לקוד, משמיע לבנאדם את מה שיש לי בתא הראשון של המערך, אח"כ אני שואל אותו אם הוא רוצה לשמוע כבר את מה שיש בתא הבא או לחזור לתא הקודם, ככה שכשהדפסתי לו פעם אחת זה לא אומר שסיימתי, זה אומר שהדפסתי לו את חלק א' ועוד מעט ממשיכים במסע...
-
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
@MGM-IVR @קו-כשר-מערכות-טל אני נכנס לקוד, משמיע לבנאדם את מה שיש לי בתא הראשון של המערך, אח"כ אני שואל אותו אם הוא רוצה לשמוע כבר את מה שיש בתא הבא או לחזור לתא הקודם, ככה שכשהדפסתי לו פעם אחת זה לא אומר שסיימתי, זה אומר שהדפסתי לו את חלק א' ועוד מעט ממשיכים במסע...
אבל זה php.... לא nodejs למשל
אין בphp המשך למסע..
אתה משמיע לו, ונגמר הסיפור
אינטרקיצה הבאה מתחילים הכל מחדש.. -
@שמואל-ש כתב באני שואל ללקוח שני שאלות ולפיו משמיע לו טקסט מסוים, וכשהוא על השאלה השניה הוא שומע גם את הטקסט שהוא שמע בפעם הראשונה:
@MGM-IVR @קו-כשר-מערכות-טל אני נכנס לקוד, משמיע לבנאדם את מה שיש לי בתא הראשון של המערך, אח"כ אני שואל אותו אם הוא רוצה לשמוע כבר את מה שיש בתא הבא או לחזור לתא הקודם, ככה שכשהדפסתי לו פעם אחת זה לא אומר שסיימתי, זה אומר שהדפסתי לו את חלק א' ועוד מעט ממשיכים במסע...
אני כבר יביא לך קוד אחר הרבה יותר טוב רק שהוא עובד עם sql
-
הקוד החדש
<?php $path = "מספר השלוחה"; $number = $_REQUEST['number']; $ApiPhone = $_REQUEST['ApiPhone']; defined('DB_HOST')? null : define('DB_HOST', 'localhost'); defined('DB_USER')? null : define('DB_USER', 'הכנס שם משתמש'); defined('DB_PASS')? null : define('DB_PASS', 'הכנס סיסמה'); defined('DB_NAME')? null : define('DB_NAME', 'הכנס שם מסד נתונים'); $connection = mysqli_connect(DB_HOST ,DB_USER ,DB_PASS ,DB_NAME); // בדוק את הקשר if (mysqli_connect_errno($connection)) { echo "Failed to connect:" . mysqli_connect_error(); exit(); } // הגדרת סט הנתונים כדי שיתמוך בעברית mysqli_set_charset($connection, "utf8"); //מחיקה בניתוק $hangup = $_REQUEST['hangup']; if($hangup == "yes"){ $sql = "DELETE FROM log WHERE ApiPhone={$ApiPhone} "; mysqli_query($connection, $sql); exit(); } //שאילתה לקריאה מבסיס הנתונים $sql = "SELECT ApiPhone, number FROM log WHERE ApiPhone= '{$ApiPhone}'"; $result = mysqli_query($connection,$sql); $count = mysqli_num_rows($result); $row = mysqli_fetch_assoc($result); $name = $row['name']; $number= $row['number']; //אם השורה לא קיימת if($number == null){ $sql = "INSERT INTO `log` (`name`,`number`) VALUES ('{$ApiPhone}','{$number}',);"; mysqli_query($connection, $sql); print "id_list_message=g-/{$path}"; exit; } $url = "https://www.call2all.co.il/ym/api/GetIVR2Dir?token={$did}:{$password}&path=ivr2:{$path}"; $responce = file_get_contents($url); $url1 = json_decode($responce, true); $numberto= $number+1; $file = $url1["{$number}"]; $menu= $_REQUEST['menu']; if($menu== null){ print "read=t-תוצאה מספר {$misparto},{$file}=menu,no,1,1,7,No,"; exit;} if($menu== ""){ $logi = $number+1; $sql = "UPDATE log SET number = '{$logi}' WHERE name= '{$ApiPhone}'"; mysqli_query($connection, $sql); print "id_list_message=g-/{$path}"; exit;} if($menu== ""){ $logi = $number-1; $sql = "UPDATE log SET number = '{$logi}' WHERE name= '{$ApiPhone}'"; mysqli_query($connection, $sql); print "id_list_message=g-/{$path}"; exit;} if($menu=="*"){ $sql = "UPDATE log SET number = '' WHERE name= '{$ApiPhone}'"; mysqli_query($connection, $sql); print "id_list_message=g-/{$path}"; exit;} ?>
כאן לדוגמה זה יביא מה api של ימות