我正在使用dialogflow构建预订餐厅助理。 我成功地建立对话框,并将保留信息与实现php响应一起存储到mysql中。问题是检查正确的预订时间(例如,如果客人说15.00,而餐厅仅营业到20.00。
这就是我的实现php代码:
header( 'Access-Control-Allow-Headers: *' );
header( 'Access-Control-Allow-Origin: *' );
header( "Access-Control-Allow-Credentials: true" );
header( 'Content-Type: application/json' );
include('../phpseclib/Net/SSH2.php');
include('../JOSE/JWT.php');
include('../JOSE/URLSafeBase64.php');
$postdata = file_get_contents( "php://input" );
$input = json_decode( $postdata, true );
$link = mysqli_connect('xxxxxxxxxx');
$intent = $input[ 'queryResult' ][ 'intent' ][ 'displayName' ];
$giorno = $input[ 'queryResult' ][ 'parameters' ][ 'giorno' ];
$oggi = substr($giorno, 5, 5);
$pieces = explode("-", $oggi);
$oggi = $pieces[1]." ".$mese;
$guest = $input['queryResult']['parameters']['guest'];
$tempo = $input['queryResult']['parameters']['time'];
$jwt_string = $input['originalDetectIntentRequest']['payload']['user']['idToken'];
$jwt = JOSE_JWT::decode($jwt_string);
file_put_contents('../public/filename.txt', print_r($jwt,true));
$myFile = "../public/filename.txt";
$lines = file($myFile);//file in to an array
$nome = str_replace("[name] => ", "", $lines[17]);
$telefono = str_replace("[email] => ", "", $lines[15]);
$query = "INSERT INTO quinto_prenota (COGNOME, RECAPITO, GIORNO, ORARIO, C_ADULTI, C_BAMBINI, ARRIVATI) VALUES ('".$nome."','".$telefono."','".substr($giorno, 0, 10)."','".substr($tempo, -14, 5)."','".$guest."','0','0')" or die("Error in the consult.." . mysqli_error($link));
$link->query($query);
mysqli_close($link);
$message = '<html><head><title>Benvenuto</title></head><body><h1 align="center">PRENOTAZIONE AVVENUTA!</h1><p>Gentile '.$nome.', ti confermiamo la prenotazione per '.$guest.' persone alle ore '.substr($tempo, -14, 5).' del giorno '.$oggi.'.</p><p>Ti preghiamo di essere puntuale o comunque di avvisarci in caso di ritardo al numero 06 3338768,<br>Grazie.</p><p align="center">www.ilquintoquarto.it</p></body></html>';
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=utf-8';
$headers[] = "From: info@ilquintoquarto.it\r\n";
mail($telefono, 'Nuova prenotazione confermata al Quinto Quarto', $message, implode("\r\n", $headers));
$message = '<html><head><title>Prenotazione</title></head><body><h1 align="center">HAI UNA NUOVA PRENOTAZIONE</h1><p>Il Sig. '.$nome.' ha effettuato una prenotazione per '.$guest.' persone alle ore '.substr($tempo, -14, 5).' del giorno '.$oggi.'.</p><p align="center">www.ilquintoquarto.it/z</p></body></html>';
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=utf-8';
$headers[] = "From: info@ilquintoquarto.it\r\n";
mail("info@ilquintoquarto.it", 'Nuova prenotazione da Assistant', $message, implode("\r\n", $headers));
echo "{
'fulfillmentText': 'Grazie ".$nome.", ti confermo la prenotazione per ".$guest." persone alle ore ".substr($tempo, -14, 5)." del giorno ".$oggi.", abbiamo inviato una conferma al tuo indirizzo email! Per ogni variazione ti preghiamo di contattarci al numero 06 333 87 68 tutti i giorni dopo le ore 18.',
'fulfillmentMessages': [
{'text':
{'text':['Grazie ".$nome.", ti confermo la prenotazione per ".$guest." persone alle ore ".substr($tempo, -14, 5)." del giorno ".$oggi.", abbiamo inviato una conferma al tuo indirizzo email! Per ogni variazione ti preghiamo di contattarci al numero 06 333 87 68 tutti i giorni dopo le ore 18.']}
}],
'source':'webhook'
}";