As variáveis estão complicando minha vida.

  • Autor Autor Jackass89
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
J

Jackass89

Beta
Programador
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
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? 😛

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é:
Inserir CODE, HTML ou PHP:
name="numerorut"

¿Alguna ayuda para este novato? 😀
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Creo que el problema esta en que no has cargado el valor de la variable $numerorut, deberias hacer algo como:

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

donde tienes lo de

Inserir CODE, HTML ou 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.
 
Creo que el problema esta en que no has cargado el valor de la variable $numerorut, deberias hacer algo como:

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

donde tienes lo de

Inserir CODE, HTML ou 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 🙂
 
Voltar
Topo