Las variables me están complicando la vida.

Jackass89 Seguir

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Mar 2014
Mensajes
99
Bueno!, prefiero pasar por super Novato antes que quedarme con la duda..
Si Facebook tiene errores, que cuenta con los mejores programadores, ¿por qué no podría tenerlos yo? :p

En fin.. Al enviar formulario me tira el error de "Variable no definida", a lo que voy al archivo PHP:
PHP:
<?php
	    if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
	        // creamos una función que nos parmita validar el email
	        function valida_email($correo) {
	            if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/', $correo)) return true;
	            else return false;
	        }
	        // Procedemos a comprobar que los campos del formulario no estén vacíos
	        $sin_espacios = count_chars($_POST['usuario_nombre'], 1);
	        if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
	            echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
	        }elseif(empty($_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
	            echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>";
	        }elseif(empty($_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
	            echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
	        }elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
	            echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
	        }elseif(!valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
	            echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";
	        }else {
	            // "limpiamos" los campos del formulario de posibles códigos maliciosos
	            $usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
	            $usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
	            $usuario_email = mysql_real_escape_string($_POST['usuario_email']);
	            // comprobamos que el usuario ingresado no haya sido registrado antes
	            $sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
	            if(mysql_num_rows($sql) > 0) {
	                echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
	            }else {
	                $usuario_clave = md5($usuario_clave); // encriptamos la contraseña ingresada con md5
	                // ingresamos los datos a la BD
	                $reg = mysql_query("INSERT INTO usuarios (usuario_nombre, numerorut, usuario_clave, usuario_email, usuario_freg) VALUES ('".$usuario_nombre."', '".$numerorut."', '".$usuario_clave."', '".$usuario_email."', NOW())");
	                if($reg) {
	                    echo"<script language='javascript'>window.location='registrado.php'</script>";
	                }else {
	                    echo "ha ocurrido un error  
...
..

Como se habrán dado cuenta, es un copy paste de un ejemplo que encontré por internet. El error de variable no definida me aparece cuando intento agregar "numerorut", y la verdad es que no se como solucionarlo, porque tampoco encuentro donde estarían las variables definidas.

(Quitenme el rango de programador...)

En el formulario HTML ya le agregué:
Insertar CODE, HTML o PHP:
name="numerorut"

¿Alguna ayuda para este novato? :D
 

Informe Alpha

Dseda
Redactor
Desde
25 Mar 2010
Mensajes
1.208
Creo que el problema esta en que no has cargado el valor de la variable $numerorut, deberias hacer algo como:

Insertar CODE, HTML o PHP:
$numerorut = mysql_real_escape_string($_POST['numerorut']);

donde tienes lo de

Insertar CODE, HTML o PHP:
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_email = mysql_real_escape_string($_POST['usuario_email']);

si es que el valor de dicha varibale se envia con el mismo formulario.
 

Jackass89

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Mar 2014
Mensajes
99
Creo que el problema esta en que no has cargado el valor de la variable $numerorut, deberias hacer algo como:

Insertar CODE, HTML o PHP:
$numerorut = mysql_real_escape_string($_POST['numerorut']);

donde tienes lo de

Insertar CODE, HTML o PHP:
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_email = mysql_real_escape_string($_POST['usuario_email']);

si es que el valor de dicha varibale se envia con el mismo formulario.

¡¡¡¡MUCHISIMAS GRACIAS!!!!, funcionó de maravilla :)
 
Arriba