I'm making a form that is supposed to create a javascript alert when some fields aren't filled out or filled out properly. I want to be able to take the error messages I've put in a php variable and display them in the javascript alert window.
The following code does not work:
function died($error) {
echo '<script type="text/javascript"> alert('.$error.')</script>';
die();
}
How can I add the string contained in $error
between the two "script" strings so it will output properly as a javascript alert?
Thank you!
You only forgot quotations that are required for the JavaScript alert.
If you passed 'hello' to the function, your current code would create alert as:
alert(hello)
instead of doing:
alert("hello")
Therefore, change your code to the following (json_encode() the string and create a javascript variable out of it):
function died(string $message) {
if ('' === trim($message)) {
$message = 'died.';
}
?>
<script type="text/javascript">
var message = <?php echo json_encode($message); ?>;
alert(message);
</script>
<?php
die();
}
and you can use your function:
died('error on whatever');