Hello, I have a small "problem". I'm trying to iterate an array session through a foreach, but it always returns only one result. So I used a var_dump () and the result was this:
array (size=1)
0 =>
array (size=3)
0 => string 'Por favor, informe um CNPJ válido.' (length=35)
1 => string 'Por favor, informe um telefone válido.' (length=39)
2 => string 'Por favor, informe um celular válido.' (length=38)
To add elements to the array, I'm using array_push () and for the display I used this loop:
foreach($_SESSION['msg_cadastro_erro'] as $key => $value) {
echo $value[$key];
}
The code:
<?php
include('conexao.php');
session_start();
$erro = false;
$msg_erro = array();
function anti_sql_injection($string)
{
include('conexao.php');
$string = stripslashes($string);
$string = strip_tags($string);
$string = mysqli_real_escape_string($conn, $string);
return $string;
}
if (isset($_POST['salvar_cliente'])) {
if (isset($_POST['cliente']) && !empty($_POST['cliente'])) {
$cliente = anti_sql_injection(($_POST['cliente']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um cliente.");
}
if (isset($_POST['fantasia']) && !empty($_POST['cliente'])) {
$fantasia = anti_sql_injection(($_POST['fantasia']));
} else {
$fantasia = "";
}
if (isset($_POST['cnpj']) && !empty($_POST['cnpj'])) {
$cnpj = anti_sql_injection(($_POST['cnpj']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um CNPJ válido.");
}
if (isset($_POST['ie']) && !empty($_POST['cliente'])) {
$ie = anti_sql_injection(($_POST['ie']));
} else {
$ie = "";
}
if (isset($_POST['rua']) && !empty($_POST['rua'])) {
$rua = anti_sql_injection(($_POST['rua']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe uma rua válida");
}
if (isset($_POST['numero']) && !empty($_POST['numero'])) {
$numero = anti_sql_injection(($_POST['numero']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um número válido.");
}
if (isset($_POST['bairro']) && !empty($_POST['bairro'])) {
$bairro = anti_sql_injection(($_POST['bairro']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um bairro válido.");
}
if (isset($_POST['estado']) && !empty($_POST['estado'])) {
$estado = anti_sql_injection(($_POST['estado']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um estado válido.");
}
if (isset($_POST['cidade']) && !empty($_POST['cidade'])) {
$cidade = anti_sql_injection(($_POST['cidade']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe uma cidade válida.");
}
if (isset($_POST['cep']) && !empty($_POST['cep'])) {
$cep = anti_sql_injection(($_POST['cep']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um CEP válido.");
}
if (isset($_POST['uf']) && !empty($_POST['uf'])) {
$uf = anti_sql_injection(($_POST['uf']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe uma UF válida.");
}
if (isset($_POST['telefone']) && !empty($_POST['telefone'])) {
$telefone = anti_sql_injection(($_POST['telefone']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um telefone válido.");
}
if (isset($_POST['celular']) && !empty($_POST['celular'])) {
$celular = anti_sql_injection(($_POST['celular']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um celular válido.");
}
if (isset($_POST['email']) && !empty($_POST['email'])) {
$v_email = anti_sql_injection(($_POST['email']));
if(filter_var($v_email, FILTER_VALIDATE_EMAIL)) {
$email = $v_email;
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um e-mail válido.");
}
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe um e-mail válido.");
}
if (isset($_POST['senha']) && !empty($_POST['senha'])) {
$senha = anti_sql_injection(($_POST['senha']));
} else {
$erro = true;
array_push($msg_erro, "Por favor, informe uma cidade válida.");
}
if (!$erro) {
$sql = "INSERT INTO clientes (cnpj, ie, cliente, fantasia, rua, numero, bairro, estado, cidade, uf, cep, telefone, celular, email, senha) VALUES ('$cnpj', '$ie', '$cliente', '$fantasia', '$rua', '$numero', '$bairro', '$estado', '$cidade', '$uf', '$cep', '$telefone', '$celular', '$email', '$senha')";
$result = mysqli_query($conn, $sql);
if ($result) {
$_SESSION['msg_cadastro_sucesso'] = "Cliente cadastrado com sucesso";
header("Location: ../painel/clientes.php");
} else {
$_SESSION['msg_cadastro_erro'] = "Ocorreu um erro inexperado. Contate o desenvolvedor." .mysqli_error($conn);
header("Location: ../painel/clientes.php");
}
} else {
$_SESSION['msg_cadastro_erro'][] = $msg_erro;
header("Location: ../painel/clientes.php");
}