开发者社区> 问答> 正文

未选择语言时如何获得错误消息?

我有一个网站,其功能是将字幕从一种语言翻译成另一种语言,翻译是使用Google小部件工具完成的,图像上标有红色:https : //ibb.co/LCWt6YV(如您在左侧看到的那样)在Google窗口小部件工具“选择语言”中说)

还有一个选项,用户可以将翻译的字幕文件保存到数据库,并且将用户翻译字幕的语言自动保存到数据库,现在许多用户不知道使用此选项,所以他们do not choose the language翻译了字幕然后在Google小部件工具上保留该选项"Select Language"。

I need some function/code so that no action will be done if Language is not chosen.

如果他没有通过Google窗口小部件工具选择一种语言并试图将字幕保存在数据库中,则会显示消息“请在保存字幕之前选择一种语言”。

这个php脚本用于将字幕保存到数据库中,现在我应该在该脚本中添加哪个功能/代码?

$data =  $_POST['data'];
$file_name =  $_POST['xxx'];
$subtitle =  $_POST['xxx'];
$language =  $_POST['xxx'];
$author =  $_POST['xxx'];
$ip= $_SERVER['REMOTE_ADDR'];
if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
    $ip = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
}


$data =json_decode($data, true);

foreach($data as $obj){

    $subtitles1->add($obj['start'], $obj['end'],$obj['text']);
    $subtitles1->save($file_name);
}
$ext = pathinfo($file_name, PATHINFO_EXTENSION);

$new_file_name_ext = time()."_".$sub."_".$lan.".".$ext;
$new_file_name = time()."_".$sub."_".$lan;
$sql_lan = "SELECT code FROM lan_code WHERE language ='$lan'";
$result_lan = mysqli_query($conn, $sql_lan);
if (mysqli_num_rows($result_lan) > 0) {
    while($row = mysqli_fetch_array($result_lan)){
        $lan_code = $row['code'];
    }
}else{
    $lan_code = $lan;
}
$sub_new = $sub.'_'.$lan_code;
$sql = "SELECT * FROM table WHERE name ='$sub_new'";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    $data1 = "Unable to save subtitle, subtitle already exists with the same language in the database.";
}
else{
    $query1 = "INSERT INTO table (xxx , xxx, xxx, xxx, ip)
            VALUES ('$sub_new','$authors', '$lan', '$new_file_name', '$ip')";
    if(mysqli_query($conn, $query1)){
        copy("$file_name", "uploads/$new_file_name_ext");
        //new GoodZipArchive('uploads/$new_file_name',    'upload/output_zip_file.zip') ;
        $data1 = "Successful, File saved to database.";

        $zip = new ZipArchive;
        $new_zip = time()."_".$subtitles."_".$languages.".zip";
        if ($zip->open("uploadsk/$new_zip", ZipArchive::CREATE) === TRUE)
        {
            $zip->addFile("uploads/$new_file_name_ext", "$new_file_name_ext");
            $zip->close();
        }
    } else{
        $data1 = mysqli_error();
    }
}

echo $data1; ?>

展开
收起
几许相思几点泪 2019-12-29 19:36:59 1558 0
1 条回答
写回答
取消 提交回答
  • 如果要在没有选择任何语言的情况下弹出消息,则需要使用Javascript。

    您可以以非常简单的方式使用javascript alert()函数,如下所示:

    echo '<script type="text/javascript">';
    if(empty($language) or !isset($language)){
        echo 'alert("please select a language")';
    }else{
       ...the rest of our code
    }
    echo '</script>';
    
    

    但这导致非常难看的输出。如果您想要更漂亮的东西,可以使用sweetAlert之类的插件。它非常易于使用,并且比“警告”您的消息要好得多。您可以在此处查看sweetAlert 。

    祝好运!

    2019-12-29 19:37:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
面向失败设计 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载