Foros del Web » Programando para Internet » PHP »

Problemas con este codigo

Estas en el tema de Problemas con este codigo en el foro de PHP en Foros del Web. Hola amigos estoy cogiendo un codigo de crear un sistema de encuestas pero viene bastante mal, lo e modificado un poco ya que no traia ...
  #1 (permalink)  
Antiguo 24/08/2009, 08:43
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Pregunta Problemas con este codigo

Hola amigos estoy cogiendo un codigo de crear un sistema de encuestas pero viene bastante mal, lo e modificado un poco ya que no traia ni los POST que recogen los datos. Actualmente no me recoge el texto que se mete en cada opcion y no los inserta en la base de datos.

El codigo es el siguiente:

enc1.php
Código PHP:
<form name="form1" method="post" action="enc2.php">
  <
p>Titulo de la encuesta
    <
input type="text" name="titulo">
  </
p>
  <
p>N&uacute;mero de opciones
    <
input name="respuestas" type="text" size="5">
  </
p>
  <
p>
    <
input type="submit" name="Submit" value="Enviar">
  </
p>
</
form
enc2.php
Código PHP:
<?php

$respuestas
=$_POST["respuestas"];
$titulo=$_POST["titulo"];

?>

<form action="enc3.php" method="post">
  <table border="0">
<?php
  
for($i=1;$i<=$respuestas;$i++){
?>
  <tr>
    <td>respuesta <?php echo $i?></td>
    <td><input name="p<?php echo $i;?>" type="text" size="50" maxlength="50"></td>
  </tr>
<?php ?>
  </table>
    <input type="submit" name="Submit" value="Enviar"></p>
    <input name="titulo" type="hidden" value="<?php echo $titulo;?>">
    <input type="hidden" name="respuestas" value="<?php echo $respuestas;?>">
</form>
enc3.php
Código PHP:
<?php 

$respuestas
=$_POST["respuestas"];
$titulo=$_POST["titulo"];
$texto=$_POST["p"][$i];

//Conectamos con la base de datos
include("../../configuracion.php"); 

//Obtenemos la fecha del sistema
$fecha time(); 

//Insertamos la nueva encuesta
$sql "INSERT INTO encuestas (titulo, fecha) VALUES ('$titulo', '$fecha') "
$sql mysql_query($sql); 

//Ahora obtenemos el ID de la encuesta que acabamos de insertar
$sql "SELECT id FROM encuestas ORDER BY fecha DESC LIMIT 0,1";
$sql mysql_query($sql);
while(
$row mysql_fetch_array($sql)){ 
    
$id=$row["id"];


//Recorremos todas las preguntas
for($i=1$i<=$respuestas$i++){

//Obtenemos el texto de la pregunta
    
$preg p.$i;
    
$texto = $$preg;

//Y lo insertamos
    
$sql "INSERT INTO respuestas(texto, votos, idenc) VALUES(\"$texto\", 0, $id)";
    
$sql mysql_query($sql);
    }
 
?>
<div align="center"><strong>Felicidades!! Si todo ha ido bien, tu encuesta ha 
  sido insertada!! </strong> </div>
el que falla?
  #2 (permalink)  
Antiguo 24/08/2009, 08:55
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Problemas con este codigo

despues de cada mysql_query($sql); puedes cambiar lo por mysql_query($sql) or die(mysql_error()); para ver si es que te esta mandando algun error.

suerte espero tu respuesta
  #3 (permalink)  
Antiguo 24/08/2009, 08:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con este codigo

un error... es que concatenas p<?php echo $i; ?> resultando, p1, p2, etc...

cuando tu solicitas... (y me pregunto para que ahí)
Código PHP:
$texto $_POST['p'][$i]; 
y esa $i ¿de donde sale??

además, los name debieron ser p[1], p[2], etc... si no ¿como??

y luego
Código PHP:
$preg p.$i;
$
$preg


y si usas correctamente como te menciono... ¿porque el $$preg??

no sería... (ahora si) $_POST['p'][$i]

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 24/08/2009, 09:00
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Problemas con este codigo

jejej ya recibe bien el texto e quitado el primero y e dejado el segundo y ahora si lo recibe bien :D, es que trae muchos errores y me esta costando corregirlo :D
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 11:29.