Foros del Web » Programando para Internet » PHP »

no se que errores tengo en estos php

Estas en el tema de no se que errores tengo en estos php en el foro de PHP en Foros del Web. Hola a todos mi problema es que cuando le envio desde un enlace un valor id a un formulario.php, este ha de enviar el valor ...
  #1 (permalink)  
Antiguo 01/11/2006, 13:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 10
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta no se que errores tengo en estos php

Hola a todos mi problema es que cuando le envio desde un enlace un valor id a un formulario.php, este ha de enviar el valor id y el codigo a un control.php que analiza los valores, bueno, pues el error es que el formulario.php no envia el valor id a control.php y que aunque exista el video siempre me dice "este video no existe". Soy nuevo en esto de php y mirando y mirando en ejemplos y manuales he logrado llegar a este punto pero aqui ya no se que hacer, si me podeis hechar una mano os lo agradeceria mucho.
Os pongo el codigo fuente:

Envio de id desde el enlace al formulario:

<tr valign="bottom"><td width="372" align="center"><a hr="paginas videos/formulario.html?id=1alt="meneito" border="0"></a>

formulario.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad">
<title></title>
</head>
<body>
<?php
$id = $_GET['id'];
echo "<input type='hidden' name='id' value='$id'>";
echo $id;
?>
<form action="control.php" method="post">
Introduce el código: <input type="text" name="codigo"><br>
<input type="Submit">
</form>
</body>
</html>




control:

<?
// Aquí has de poner los datos para conectarte al servidor MySQL
$username="root";
$password="marmolillo";
$database="test";

// Leemos lo que nos han pasado en el formulario
$codigo=$_POST['codigo'];

// Conectamos a la base de datos (normalmente, siempre se hace igual)
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

// Preparamos la consulta SQL ...
$query = "UPDATE ia_codigos SET estado=1 WHERE codigo='$codigo' AND estado = 0";

// ... y la ejecutamos
mysql_query($query);

// Como ha ido?
if (mysql_affected_rows() == 0)
{
$id = 1;
echo $id;
// No hemos modificado ningún registro!!
// - posibilidad 1: es un código inventado que no tenemos en la BBDD
// - posibilidad 2: sí lo tenemos, pero ya lo han usado (Estado=1)
// En cualquier caso...
echo "Codigo incorrecto";
} else {
echo $id;
// Hemos modificado un registro (== el código es bueno)
if ($id > 0 && $id < 21){
echo "<a href='video$id.zip'</a>";
} else {
echo "Este video no existe";
echo $id;
}
}

mysql_close();
?>
  #2 (permalink)  
Antiguo 01/11/2006, 14:34
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
El error no es de PHP, sino de HTML porque estás imprimiendo el input fuera del formulario, por lo que no se envía
  #3 (permalink)  
Antiguo 01/11/2006, 16:00
 
Fecha de Ingreso: septiembre-2006
Mensajes: 10
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta ¿donde lo tendria que poner?

Pues eso, en donde lo tendria que colocar para que lo hiciera correctamente, esto del php me trae loco
  #4 (permalink)  
Antiguo 01/11/2006, 16:07
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Mmm estoy viendo que tienes un id, pero como te dice Seppo esta fuera del formulario, si quieres enviarlo debes ponerlo dentro, solo mueve la linea del <form> arriba del codigo php
Y luego en el otro codigo usas una variable $id, pero no se ve de donde sale

Última edición por darkasecas; 01/11/2006 a las 16:13
  #5 (permalink)  
Antiguo 01/11/2006, 16:35
 
Fecha de Ingreso: septiembre-2006
Mensajes: 10
Antigüedad: 17 años, 7 meses
Puntos: 0
Ya he modificado el formulario, pero sigue sin enviar el valor de $id a control.php. Haber el id se lo doy a un archivo enlazado con valor 1 ""><a hr="paginas videos/formulario.html?id=1alt="meneito" border="0"></a>" lo envio a formaulario.php como valor oculto y despues para la descarga compruevo el codigo de descarga en control.php y le deoy la orden que descarge el archivo video$id.zip si el video existe

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor">
<title></title>
</head>
<body>
<form action="control.php" method="post">
<?php
$id = $_GET['id'];
echo "<input type='hidden' name='id' value='$id'>";
echo $id;
?>

Introduce el código: <input type="text" name="codigo"><br>
<input type="Submit">
</form>
</body>
</html>
  #6 (permalink)  
Antiguo 01/11/2006, 16:58
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Para recibir el valor en control.php debes hacer igual que como recibes el codigo
$id=$_POST['id'];
  #7 (permalink)  
Antiguo 01/11/2006, 17:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 10
Antigüedad: 17 años, 7 meses
Puntos: 0
darkasecas tenias toda la razon, ya tengo el valor de id en control php, pero lo que no consigo es que me habra la descaga del archivo ya que el video esta en la misma carpeta que el formulario.php y el control.php
Gracias por la ayuda que me estais dando
  #8 (permalink)  
Antiguo 02/11/2006, 07:32
 
Fecha de Ingreso: septiembre-2006
Mensajes: 10
Antigüedad: 17 años, 7 meses
Puntos: 0
¿Alguien sabe como solucionarlo?
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 08:18.