Foros del Web » Programando para Internet » PHP »

Cómo hacer para que el código que inserto en un formulario se ejecute en otra página

Estas en el tema de Cómo hacer para que el código que inserto en un formulario se ejecute en otra página en el foro de PHP en Foros del Web. Tengo el siguiente formulario código: Código: <form action="ejecuta.php" method="post"> Comentario:&nbsp;<br> <textarea name="comentario" rows="15" cols="80" wrap="off"></textarea><br> <input type="submit" name="enviar" value="Enviar"> </form> El cual lo procesa el ...
  #1 (permalink)  
Antiguo 06/01/2009, 16:12
Avatar de boy-computer  
Fecha de Ingreso: diciembre-2006
Ubicación: Cuba, Pinar del Río
Mensajes: 337
Antigüedad: 17 años, 4 meses
Puntos: 1
Cómo hacer para que el código que inserto en un formulario se ejecute en otra página

Tengo el siguiente formulario código:

Código:
<form action="ejecuta.php" method="post">
Comentario:&nbsp;<br>
<textarea name="comentario" rows="15" cols="80" wrap="off"></textarea><br>
<input type="submit" name="enviar" value="Enviar">
</form>
El cual lo procesa el siguiente script:

Código:
$datos=tempnam("", "code");
$ar=fopen($datos,"a") or die("Problemas en la creacion");
fwrite($ar,stripslashes($comentario));
fclose($ar);
include($datos);
unlink($datos);
Ahora mi gran problema:
En el formulario ingreso el siguiente contenido:
Código:
<?php
extract($_GET, EXTR_SKIP);
extract($_POST, EXTR_SKIP);
$link=mysql_connect($SERVER_NAME, "usuario", "");
if ($link)
{
mysql_select_db("jcbm",$link);
echo "<tr>";
echo "<td>";
//<!-- libro de visitas -->
if ( isset($enviar) )
{
if ( !empty($nombre) && !empty($criterio) )
{
$sql="insert into libro_visita (nombre, correo, criterio) values ('$nombre', '$correo', '$criterio')";
$result=mysql_query($sql,$link);
}
 else
{
echo  "<span align='left' class='cabecera1' style='color: red'>Debe llenar los campos antes de enviar el formulario</span>";
}
}
echo "<table border='0' cellpadding='2' cellspacing='2'>";
echo "<tr><td>";
echo "<form method='post' action='".$_SERVER['PHP_SELF']."'>";
echo "<tr>";
echo "<td valign='top' align='right'><span class='cabecera1'>Nombre y Apellidos:*</span></td>";
echo "<td><input type='text' name='nombre' size='36' value=''></td>";
echo "</tr>";
echo "<tr>";
echo "<td valign='top' align='right'><span class='cabecera1'>Correo personal:</span></td>";
echo "<td><input type='text' name='correo' size='36' value=''></td>";
echo "</tr>";
echo "<tr>";
echo "<td valign='top' align='right'><span class='cabecera1'>Criterio personal:*</span></td>";
echo "<td><textarea class='cabecera1' name='criterio' rows='10' cols='44'></textarea></td>";
echo "</tr>";
echo "<tr>";
echo "<td></td>";
echo "<td align='right'>
<input class='cabecera1' type='submit' name='enviar' value='Enviar'>
<input class='cabecera1' type='reset' name='limpiar' value='Limpiar'></td>";
echo "</tr>";
echo "</form>";
echo "</td></tr>";
echo "<tr><td valign='top' colspan='2' align='right'></td></tr>";
echo "</table>";
//<!-- libro de visita -->
echo "</td>";
echo "</tr>";
}	   
else{
echo "Error";
}
?>
Ahora, cuando trato de usar el formulario que optengo de haber escrito el código anterior en el textarea, no me funciona, pues cuando doy clic en enviar la página se queda en blanco, es decir, logro insertar en el formulario un código para un libro de visitas (el cual ya lo he probado y funciona bien), doy clic en enviar y en la próxima página me muestra el resultado del código que inserté anteriormente, pero dicho resultado no me funciona por esa vía, pues al probarlo se queda la página en blanco.

Me parece que debe ser al include que hago en el script que procesa al formulario. Como podría solucionar esto. Si mi objetivo es que los usuarios puedan usar mi formulario para realizar sus códigos y a las vez poder probarlos.

Última edición por boy-computer; 06/01/2009 a las 16:22 Razón: Me equivoqué de ejemplo
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 03:26.