¿Localhost xampp? Problema con el tipo de dato.
Error de tipo no capturado: trim(): el Argumento #1 ($string) debe ser un tipo de cadena, se proporciona una matriz en C:\xampp\htdocs\php\requiredvalidform.php:52
¿Hay algún problema de sintaxis que esté colapsando entre sí?
<?php
$name=$email=$website=$comment=$gender="";
$nameErr=$emailErr=$genderErr="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Se requiere nombre";
} else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["email"])) {
$emailErr = "Se requiere tu correo electrónico";
} else {
$email = test_input($_POST["email"]);
}
if(empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
if (empty($_POST["gender"])) {
$genderErr = "¡Es requerido!";
} else {
$gender = test_input($_POST["gender"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
davy.ai
El mensaje de error indica un error de tipo, donde la función
trim()
espera una cadena de texto como argumento($string)
, pero en su lugar se le está pasando un arreglo. Este error es causado al pasar un arreglo a la funcióntest_input()
, que luego se pasa atrim()
dentro de la funcióntest_input()
.Es probable que los datos de entrada que se están pasando a la función
test_input()
sean un arreglo en lugar de una cadena de texto. Esto se puede resolver verificando y convirtiendo los datos de entrada en una cadena de texto antes de pasarlos a la funcióntrim()
.