Foros del Web » Programando para Internet » PHP »

Problema paso de parámetros

Estas en el tema de Problema paso de parámetros en el foro de PHP en Foros del Web. Tengo que recoger unos datos de un formulario, entonces, si no hay nadie en la base de datos con ese nif se insertan y van ...
  #1 (permalink)  
Antiguo 11/09/2009, 12:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema paso de parámetros

Tengo que recoger unos datos de un formulario, entonces, si no hay nadie en la base de datos con ese nif se insertan y van a una página; si existe alguien quiero que vaya a otra página y muestre una frase.

El problema es que no consigo que se pase la frase... he intentado hacer un hidden y pasarlo en la llamada a la siguiente página (error.php?texto=$texto) y nada, la página siguiente no recibe nada.

Dejo el código:

Código PHP:
<?php

$nombre
ucfirst($_POST['nombre']);
$apellidos=ucfirst($_POST['apellidos']);
$Nif=ucwords($_POST['Nif']);
$correo=$_POST['correo'];
$contrasena=md5($_POST['contrasena']);


//var_dump($nombre);var_dump($apellidos);var_dump($Nif);var_dump($correo);var_dump($contrasena);

                
require ("conexion.php");
                
$sql="SELECT * FROM candidato WHERE nifCandidato='$Nif'";
                
$resultado_consulta=mysql_query ($sql);
                if (
mysql_num_rows ($resultado_consulta) != 0)
                {
                    
$textoC="Ya existe un candidato con el nif ".$Nif.".";    
                    
//$textoC=urlencode($texto);
                    
include("error.php");
                    
?><input type="hidden" name="texto" id="texto" value="<? $textoC ?>" />
    
                <? }else
                {
                    
mysql_query("INSERT INTO candidato (nombre, apellidos, nifCandidato, email, contraseña) VALUES ('$nombre', '$apellidos', '$Nif','$correo','$contrasena')");
                    
//include("correo_registro2.php?nombre=$nombre&correo=$correo");
                    
include("datos_personales.php");
                    

                
        }
?>
  #2 (permalink)  
Antiguo 11/09/2009, 12:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema paso de parámetros

es que $textC no se imprime solo !!

debes anteponer un echo

sino, ¿como pretendes que se imprima el valor a pasar??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/09/2009, 12:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema paso de parámetros

he puesto value="<? echo $textoC ?>" y tampoco sale nada
  #4 (permalink)  
Antiguo 11/09/2009, 13:10
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Problema paso de parámetros

Recuerda que cuando usas elementos que son parte de un formulario FORM como en tu caso el HIDDEN los debes pasar dentro las etiquetas
<form name=a method....
</form>

según dice quieres pasar una variable a error.php y con include pues no se puede, intenta con esto:

Código PHP:
header('location:eeror.php?rexto=$texto'); 
claro que en error.php rescatas el valor de $texto con por get

Salu2

Última edición por cosmo_; 11/09/2009 a las 14:56
  #5 (permalink)  
Antiguo 11/09/2009, 13:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema paso de parámetros

es que tengo el formulario en un .php, luego llamo a otro .php donde pongo el código que he puesto antes.
Vamos, que no tengo el código en la misma página.

Debe ser una tontería, pero no me sale...

He puesto lo que me has dicho y me ha dado error.
  #6 (permalink)  
Antiguo 11/09/2009, 14:55
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Problema paso de parámetros

postea el error que te sale
  #7 (permalink)  
Antiguo 12/09/2009, 09:07
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema paso de parámetros

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Proyecto web\insertar_registro2.php:2) in C:\xampp\htdocs\Proyecto web\insertar_registro2.php on line 21
  #8 (permalink)  
Antiguo 12/09/2009, 09:24
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema paso de parámetros

También he intentado meter el parámentro en el include (error.php?texto=$textoC); y me sale el error:

Warning: include(error.php?texto=Ya existe un candidato con el nif 71287939B.) [function.include]: failed to open stream: No error in C:\xampp\htdocs\Proyecto web\insertar_registro2.php on line 20

Warning: include() [function.include]: Failed opening 'error.php?texto=Ya existe un candidato con el nif 71287939B.' for inclusion (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\Proyecto web\insertar_registro2.php on line 20
  #9 (permalink)  
Antiguo 12/09/2009, 09:30
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Problema paso de parámetros

El archivo error.php que hace? Solo imprimir el error? En ese caso para ahorrarte problemas imprime el error en el código anterior que has puesto.

Ejemplo:

Código PHP:
<?php
// ... codigo

echo $textoC;
                    
?><input type="hidden" name="texto" id="texto" value="<? $textoC ?>" />

// ... más código ?>
Así no tendrías que redireccionar a la página error.php, y te evitas estos lios. Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #10 (permalink)  
Antiguo 12/09/2009, 10:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema paso de parámetros

Ya, pero es que la página de error ya la tengo diseñada y quería que me apareciera la frase en la página, pero no consigo que pase el parámetro...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:00.