Lo e probado e dejado el archivo asi:
Código PHP:
<?php
$nombre= $_POST['nombre'];
$longitud_nombre = strlen($nombre);
if (($longitud_nombre < 50) && ($longitud_nombre > 4)) {
//seria un usuario valido....
} else {
//no seria valido...
}
for ($i=0; $i<=$longitud_nombre;$i++) {
$caracter = $nombre{$i};
if (($caracter == "*") || ($caracter == ";") || ($caracter == "=") || ($caracter == "<") || ($caracter == "&")|| ($caracter == "@") || ($caracter == "&") || ($caracter == "$")) {
$errores = "Introdujo caracteres no admitidos en el usuario";
}
}
$bdconex = @mysql_connect("localhost", "root", "");
if (!$bdconex) {
echo ( "<h1>La base de datos no está disponible</h1> " .
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" );
exit();
}else {
echo ("");
}
if (! @mysql_select_db("iu", $bdconex)){
echo "<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
exit();
}else {
echo "Base de datos seleccionada";
}
$sql =" INSERT INTO comentarios ( id, nombre , email , comentario, fecha ) VALUES ( NULL, '".$_POST['nombre']."' , '".$_POST['email']."' , '".$_POST['comentario']."',CURDATE() )";
if(mysql_query($sql, $bdconex)){
echo ("<p> Gracias por tu comentario, será redirigido automaticamente a la pagina de comentarios.</p>");
}else{
echo ("Error al insertar los datos: " . mysql_error() . "</p>");
}
?>
Y me sale este error: Notice: Uninitialized string offset: 0 in C:\wamp\www\insercomentario.php on line 15.
que ago mal? otra cosa para que no se guarden en la base de datos el codigo insert iria donde pone sería usuario valido? y para los demás campos de texto habría que repetir lo mismo??
Muchas gracias.