如何在用户点击提交按钮后,将表单提交的$name显示在$alert提示中
问题原因
PHP 中单引号包裹的字符串不会解析内部的变量,你当前的代码还存在字符串开头引号遗漏、边界混用的语法错误,最终导致$name无法被正确解析为实际取值。
修正方案
你可以任选以下两种常用方式调整代码:
方式1:用双引号包裹外层字符串
双引号包裹的字符串会自动解析内部的PHP变量,注意把内部HTML属性的引号改为单引号避免冲突:
$mail->send(); $alert = "<div class='alert-success'> <span>Message sent $name, thank you for contacting us!</span> </div>";
方式2:用字符串拼接符拼接变量
如果习惯用单引号包裹HTML内容,可以用.运算符手动拼接变量:
$mail->send(); $alert = '<div class="alert-success"> <span>Message sent ' . $name . ', thank you for contacting us!</span> </div>';
安全建议
建议提前对$name做XSS过滤再渲染到页面,避免用户输入恶意代码触发安全问题:
// 先转义特殊字符 $safe_name = htmlspecialchars($name); // 再拼接进提示内容 $alert = '<div class="alert-success"> <span>Message sent ' . $safe_name . ', thank you for contacting us!</span> </div>';
内容的提问来源于stack exchange,提问作者Jasonzk1
相关产品推荐
相关产品推荐

