Мне нужно разместить мою переменную $theCompany
в конце URI для VoiceURI на Twilio. Как вы можете видеть ниже, мне удалось создать переменную, но я не могу понять, как поместить ее в URI. Когда мы отправляем страницу, поле VoiceURI в Twilio www.ourdomain.com/.xml
,
То же самое верно и для XML-файла, который я пытаюсь создать, который сохраняет $theCompany.xml
Код ниже, помощь приветствуется!
Вот строка, которую я использую для заполнения VoiceURI в Twilio:
'VoiceUrl' => "http://www.ourdomain.com/$theCompany.xml",
И вот строка, которую я использую, чтобы сохранить XML-файл с новым именем / тем же именем, которое было передано из предыдущего в Twilio.
$doc->save('"$theCompany".xml');
Вероятно, это действительно просто, но это не моя нормальная игра, я больше на стороне Infusionsoft, но парень из кода и веб-мастеров на медовом месяце!
Цените помощь!
—РЕДАКТИРОВАТЬ—
Спасибо за ответы, к сожалению, они, кажется, не работают. Вот полный код для создателя PHP xml:
<?php
session_start();
?>
<?php
$theCompany = $_SESSION['company'];
$doc = new DOMDocument( );
$ele = $doc->createElement( 'Root' );
$ele->nodeValue = 'This is a call for $_SESSION["company"] press any key to accept the call';
$doc->appendChild( $ele );
$doc->save("$theCompany.xml");
?>
Мне также нужна помощь в получении $ theCompany в URL на странице PHP с номером покупки, показанной ниже.
<?php
session_start();
?>
<?php
// this line loads the library
require('Services/Twilio.php');
$theCompany = $_SESSION['company'];
$account_sid = 'AC7841a99c892xxxbc8f7xxx';
$auth_token = 'a71cxx052080xx';
$client = new Services_Twilio($account_sid, $auth_token);
$phoneNumber = $client->account->incoming_phone_numbers->create(array(
'PhoneNumber' => $_SESSION["number"],
'VoiceUrl' => "http://www.ourdomain.com/"'$theCompany .'".xml",
));
echo $phoneNumber->sid;
?>
Страницы следуют так:
1) У нас есть страница PHP для поиска доступных номеров. Затем эта страница передает информацию на страницу PHP (код прямо над этой)
2) Эта страница покупает номер и добавляет его в учетную запись вместе с VoiceURI, а после отправки страница переходит на страницу создателя XML
У меня такое чувство, что я должен переключить страницы buy и xml, чтобы мы искали число, затем создавали XML-файл, а затем покупали номер, но не уверены, имеет ли это значение?
Спасибо, что остались со мной!
—РЕДАКТИРОВАТЬ № 2—
Привет, ребята, извините за это, я знаю, что вы все помогаете как можете. У меня все еще есть проблемы с этим, поэтому я думаю, что было бы лучше создать файл XML и передать его как переменную в файл PHP, который отправляет информацию в Twilio. Если бы мы должны были создать XML с $doc->save($theCompany.'.xml');
как бы мы передать это в качестве переменной на следующую страницу вместо $doc->save($theCompany.'.xml');
?
Я думаю, что имеет больше смысла создавать переменные, чем добавлять их вместо URI, который пытается быть гибридом статического и динамического.
Так что я бы посмотрел на что-то вроде этого:
$phoneNumber = $client->account->incoming_phone_numbers->create(array(
'PhoneNumber' => $_SESSION["number"],
'VoiceUrl' => $theXML,
));
Как вы думаете, это лучший вариант для маршрута, по которому я сейчас иду?
Использовать этот
$doc->save($theCompany.".xml");
Если я не понял неправильно, это кажется очень простой проблемой.
Либо вы можете записать переменные в строку, используя двойные кавычки, например так:
$doc->save("$theCompany.xml");
Или вы используете одинарные кавычки для ясности, что облегчает просмотр:
$doc->save($theCompany . '.xml');
В первом бите вы написали это:
$ele->nodeValue = 'This is a call for $_SESSION["company"] press any key to accept the call';
Вы должны убедиться, что переменная сеанса экранирована, вот так:
$ele->nodeValue = 'This is a call for ' . $_SESSION["company"] . ' press any key to accept the call';
И для вашего второго бита кода ваша переменная phoneNumber должна быть правильно экранирована:
$phoneNumber = $client->account->incoming_phone_numbers->create(array(
'PhoneNumber' => $_SESSION["number"],
'VoiceUrl' => 'http://www.ourdomain.com/' . $theCompany . '.xml',
));