Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Pages: 1
#1 2013-05-26 20:20:11
- gfdesign
- Member
- From: Argentina
- Registered: 2009-04-20
- Posts: 401
[es-es] Problemas con código PHP en TXP
Estimados
Tengo un script PHP para un formulario de contacto con la opción de adjuntar archivos que funciona perfectamente en TXP 4.4.1 (dado que no es posible hacerlo con zem_contact_reborn). El problema es que al actualizar mi sitio a TXP 4.5.2 no me reconoce el código PHP. Es decir, este formulario me funciona perfecto en TXP 4.4.1 pero en 4.5.2 ya no funciona, ni siquiera utilizando etiquetas <txp:php>
Dejo aquí el código por si alguien le sirve y pueda ayudarme a que funcione en TXP 4.5.2.
(Nota: Este formulario requiere los archivos class.phpmailer.php y jquery.MultiFile.pack.js)
Desde ya, agradezco y espero por alguna respuesta que pueda orientarme.
Saludos
<?php
/*
NOTA:
este archivo debe estar acompañado de una carpeta
con el nombre "archivos" en donde se copiaran los
archivos. Esta carpeta debe tener chmod 777.
*/
//CONFIGURACION
$direccion_envio='name@domain.com'; //la direccion a la que se enviara el formulario.
$url= 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//la URL donde esta publicado el formulario. SIN la barra al final
$cantidad_archivos=1;
//la cantidad máxima de archivos que se permitirá enviar.
//FIN CONFIGURACION
?>
<?php
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {
// vamos a hacer uso de la clase phpmailer,
require("class.phpmailer.php");
$mail = new PHPMailer();
//recogemos las variables y configuramos PHPMailer
$mail->From = $_POST['email'];
$mail->FromName = $_POST['nombre'];
$mail->AddAddress($direccion_envio);
$mail->Subject = "Solicitud de presupuesto";
$mail->AddReplyTo($_POST['email'],$_POST['nombre']);
$mail->IsHTML(true);
$comentario=$_POST['comentario'];
//comprobamos si se adjuntaron archivos, los cargamos en el servidor y los pasamos como adjuntos del email
if (isset($_FILES['archivo']['tmp_name'])) {
$achivos_adjuntos='';
$i=0;
do {
if($_FILES['archivo']['tmp_name'][$i] !="")
{
$aleatorio = rand();
$nuevonombre = $aleatorio.'-'.$_FILES['archivo']['name'][$i];
copy($_FILES['archivo']['tmp_name'][$i],'archivos/'.$nuevonombre);
$achivos_adjuntos .= '<br /><a href="'.$url.'/archivos/'.$nuevonombre.'">'.$nuevonombre.'</a></strong>';
$mail->AddAttachment($_FILES['archivo']['tmp_name'][$i], $nuevonombre);
}
$i++;
} while ($i < $cantidad_archivos);
}
//comprobamos si todos los campos fueron completados
if ($_POST['email']!='') {
$email=$_POST['email'];
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$comentario=$_POST['comentario'];
$user_ip = $_SERVER['REMOTE_ADDR'];
//armamos el html
$contenido = '<html><body>';
$contenido .= '<p>Enviado el '. date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$nombre.'</strong></p>';
$contenido .= '<p>Apellido: <strong>'.$apellido.'</strong></p>';
$contenido .= '<p>Email: <strong>'.$email.'</strong></p>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong></p>';
$contenido .= '<hr />';
$contenido .= '<p>Archivos Adjuntos: '.$achivos_adjuntos.'</p>';
$contenido .= '<hr />';
$contenido .= '</body></html>';
$mail->Body = $contenido;
// si todos los campos fueron completados enviamos el mail
$mail->Send();
$flag='ok';
$mensaje='<div id="ok">SU MENSJAE FUE ENVIADO CORRECTAMENTE</div>';
} else {
//si no todos los campos fueron completados se frena el envio y avisamos al usuario
$flag='err';
$mensaje='<div id="error">- Los Campos Marcados Con * Son Requeridos. '.$error_archivo.'</div>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="<txp:site_url/>js/jquery.MultiFile.pack.js" type="text/javascript" language="javascript"></script>
</head>
<body>
<div class="formulario">
<?php echo $mensaje; /*mostramos el estado de envio del form */ ?>
<?php if ($cantidad_archivos > 1) {$plural='s';} else {$plural='';} ?>
<?php if ($flag!='ok') { ?>
<form id="formInscripcion" action="<?php echo $PHP_SELF;?>" method="post" enctype="multipart/form-data">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="nombre_campo" >Nombre:*</td>
<td><label>nombre</label>
<input name="nombre" type="text" id="nombre" size="50" /></td>
</tr>
<tr>
<td class="nombre_campo">Apellido:*</td>
<td><input name="apellido" type="text" id="apellido" size="50" /></td>
</tr>
<tr>
<td class="nombre_campo">E-mail:*</td>
<td><input name="email" type="text" id="email" size="50" /></td>
</tr>
<tr>
<td class="nombre_campo">Adjunte aquí su archivo:<br><span style="font-size:8px">Max. 2 Mb</span></td>
<td>Puede adjuntar hasta <?=$cantidad_archivos?> archivo<?=$plural?>
<input type="file" class="multi max-<?=$cantidad_archivos?>" name="archivo[]" value="<?=$_FILES['archivos']?>">
</td>
</tr>
<tr>
<td valign="top" class="nombre_campo" style="vertical-align:top; padding-top:15px" >Su Consulta:</td>
<td><textarea cols="45" rows="10" name="comentario"></textarea></td>
</tr>
<tr>
<td style="text-align:center;" colspan="2" >
<button type="reset" class="form_btenviar">BORRAR</button>
<button type="submit" class="form_btenviar" name="enviar">ENVIAR</button>
</td>
</tr>
</table>
</form>
<?php } ?>
</div><!-- fin "formulario" -->
</body>
</html>
Offline
#2 2013-05-27 17:40:14
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: [es-es] Problemas con código PHP en TXP
Hola Fernando
¿Cómo integras a este script en tus códigos? ¿Podría ser que en las preferencias avanzadas (al final de la lista) algo impide la ejecución?
Offline
#3 2013-05-28 19:16:23
- gfdesign
- Member
- From: Argentina
- Registered: 2009-04-20
- Posts: 401
Re: [es-es] Problemas con código PHP en TXP
Hola, gracias por responder.
Te cuento que en TXP 4.4.1 selecciono en las preferencias ¿Permitir PHP en las páginas? en SI y luego pego el código tal cual está (sin usar etiquetas <txp:php>)
Este script me funciona bien en TXP 4.4.1, pero en TXP 4.5.2 parece que no está permitido código PHP crudo a no ser que se usen dentro de etiquetas <txp:php>. El problema es que no logro hacer funcionar este código usando dichas etiquetas TXP.
¿Alguna sugerencia?
Saludos
Offline
#4 2013-05-28 20:21:11
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: [es-es] Problemas con código PHP en TXP
Quizás puedas publicar el código dentro de las etiquetas <txp:php>
, para que podemos ver cómo lo haces.
Last edited by GugUser (2013-05-28 20:21:29)
Offline
#5 2013-05-30 03:24:06
- gfdesign
- Member
- From: Argentina
- Registered: 2009-04-20
- Posts: 401
Re: [es-es] Problemas con código PHP en TXP
Si, acá va:
<txp:php>
/*
NOTA:
este archivo debe estar acompañado de una carpeta
con el nombre "archivos" en donde se copiaran los
archivos. Esta carpeta debe tener chmod 777.
*/
//CONFIGURACION
$direccion_envio='name@domain.com'; //la direccion a la que se enviara el formulario.
$url= 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//la URL donde esta publicado el formulario. SIN la barra al final
$cantidad_archivos=1;
//la cantidad máxima de archivos que se permitirá enviar.
//FIN CONFIGURACION
</txp:php>
<txp:php>
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {
// vamos a hacer uso de la clase phpmailer,
require("class.phpmailer.php");
$mail = new PHPMailer();
//recogemos las variables y configuramos PHPMailer
$mail->From = $_POST['email'];
$mail->FromName = $_POST['nombre'];
$mail->AddAddress($direccion_envio);
$mail->Subject = "Solicitud de presupuesto";
$mail->AddReplyTo($_POST['email'],$_POST['nombre']);
$mail->IsHTML(true);
$comentario=$_POST['comentario'];
//comprobamos si se adjuntaron archivos, los cargamos en el servidor y los pasamos como adjuntos del email
if (isset($_FILES['archivo']['tmp_name'])) {
$achivos_adjuntos='';
$i=0;
do {
if($_FILES['archivo']['tmp_name'][$i] !="")
{
$aleatorio = rand();
$nuevonombre = $aleatorio.'-'.$_FILES['archivo']['name'][$i];
copy($_FILES['archivo']['tmp_name'][$i],'archivos/'.$nuevonombre);
$achivos_adjuntos .= '<br /><a href="'.$url.'/archivos/'.$nuevonombre.'">'.$nuevonombre.'</a></strong>';
$mail->AddAttachment($_FILES['archivo']['tmp_name'][$i], $nuevonombre);
}
$i++;
} while ($i < $cantidad_archivos);
}
//comprobamos si todos los campos fueron completados
if ($_POST['email']!='') {
$email=$_POST['email'];
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$comentario=$_POST['comentario'];
$user_ip = $_SERVER['REMOTE_ADDR'];
//armamos el html
$contenido = '<html><body>';
$contenido .= '<p>Enviado el '. date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$nombre.'</strong></p>';
$contenido .= '<p>Apellido: <strong>'.$apellido.'</strong></p>';
$contenido .= '<p>Email: <strong>'.$email.'</strong></p>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong></p>';
$contenido .= '<hr />';
$contenido .= '<p>Archivos Adjuntos: '.$achivos_adjuntos.'</p>';
$contenido .= '<hr />';
$contenido .= '</body></html>';
$mail->Body = $contenido;
// si todos los campos fueron completados enviamos el mail
$mail->Send();
$flag='ok';
$mensaje='<div id="ok">SU MENSJAE FUE ENVIADO CORRECTAMENTE</div>';
} else {
//si no todos los campos fueron completados se frena el envio y avisamos al usuario
$flag='err';
$mensaje='<div id="error">- Los Campos Marcados Con * Son Requeridos. '.$error_archivo.'</div>';
}
}
</txp:php>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="<txp:site_url/>js/jquery.MultiFile.pack.js" type="text/javascript" language="javascript"></script>
</head>
<body>
<div class="formulario">
<txp:php> echo $mensaje; /*mostramos el estado de envio del form */ </txp:php>
<txp:php> if ($cantidad_archivos > 1) {$plural='s';} else {$plural='';} </txp:php>
<txp:php> if ($flag!='ok') { </txp:php>
<form id="formInscripcion" action="<txp:php> echo $PHP_SELF;</txp:php>" method="post" enctype="multipart/form-data">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="nombre_campo" >Nombre:*</td>
<td><label>nombre</label>
<input name="nombre" type="text" id="nombre" size="50" /></td>
</tr>
<tr>
<td class="nombre_campo">Apellido:*</td>
<td><input name="apellido" type="text" id="apellido" size="50" /></td>
</tr>
<tr>
<td class="nombre_campo">E-mail:*</td>
<td><input name="email" type="text" id="email" size="50" /></td>
</tr>
<tr>
<td class="nombre_campo">Adjunte aquí su archivo:<br><span style="font-size:8px">Max. 2 Mb</span></td>
<td>Puede adjuntar hasta <txp:php>=$cantidad_archivos</txp:php> archivo<txp:php>=$plural</txp:php>
<input type="file" class="multi max-<txp:php>=$cantidad_archivos</txp:php>" name="archivo[]" value="<txp:php>=$_FILES['archivos']</txp:php>">
</td>
</tr>
<tr>
<td valign="top" class="nombre_campo" style="vertical-align:top; padding-top:15px" >Su Consulta:</td>
<td><textarea cols="45" rows="10" name="comentario"></textarea></td>
</tr>
<tr>
<td style="text-align:center;" colspan="2" >
<button type="reset" class="form_btenviar">BORRAR</button>
<button type="submit" class="form_btenviar" name="enviar">ENVIAR</button>
</td>
</tr>
</table>
</form>
<txp:php> } </txp:php>
</div><!-- fin "formulario" -->
</body>
</html>
Offline
#6 2013-05-30 15:15:03
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: [es-es] Problemas con código PHP en TXP
Me cuesta creer que esto antes sí funcionó. :-(
Te recomiendo crear un bloque con el nombre de, por ejemplo, “formulario” y colocar el código:
<txp:php>
$direccion_envio = "name@domain.com"; // la dirección a la que se enviara el formulario
$url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]; // la URL donde esta publicado el formulario. SIN la barra al final
$cantidad_archivos = 1; // la cantidad máxima de archivos que se permitirá enviar.
if (isset($_POST["enviar"])) { // si existe "enviar"
require("class.phpmailer.php"); // usamos la clase phpmailer
$mail = new PHPMailer();
//recogemos las variables y configuramos PHPMailer
$mail->From = $_POST["email"];
$mail->FromName = $_POST["nombre"];
$mail->AddAddress($direccion_envio);
$mail->Subject = "Solicitud de presupuesto";
$mail->AddReplyTo($_POST["email"],$_POST["nombre"]);
$mail->IsHTML(true);
$comentario=$_POST["comentario"];
//comprobamos si se adjuntaron archivos, los cargamos en el servidor y los pasamos como adjuntos del email
if (isset($_FILES["archivo"]["tmp_name"])) {
$achivos_adjuntos="";
$i=0;
do {
if($_FILES["archivo"]["tmp_name"][$i] !="")
{
$aleatorio = rand();
$nuevonombre = $aleatorio."-".$_FILES["archivo"]["name"][$i];
copy($_FILES["archivo"]["tmp_name"][$i],"archivos/".$nuevonombre);
$achivos_adjuntos .= "<br /><a href=\"".$url."/archivos/".$nuevonombre."\">".$nuevonombre."</a></strong>";
$mail->AddAttachment($_FILES["archivo"]["tmp_name"][$i], $nuevonombre);
}
$i++;
} while ($i < $cantidad_archivos);
}
//comprobamos si todos los campos fueron completados
if ($_POST["email"]!="") {
$email=$_POST["email"];
$nombre=$_POST["nombre"];
$apellido=$_POST["apellido"];
$comentario=$_POST["comentario"];
$user_ip = $_SERVER["REMOTE_ADDR"];
//armamos el html
$contenido = "<p>Enviado el ".date("d M Y")."</p>";
$contenido .= "<hr />";
$contenido .= "<p>Nombre: <strong>".$nombre."</strong></p>";
$contenido .= "<p>Apellido: <strong>".$apellido."</strong></p>";
$contenido .= "<p>Email: <strong>".$email."</strong></p>";
$contenido .= "<p>Comentario: <strong>".$comentario."</strong></p>";
$contenido .= "<hr />";
$contenido .= "<p>Archivos Adjuntos: ".$achivos_adjuntos."</p>";
$contenido .= "<hr />";
$mail->Body = $contenido;
// si todos los campos fueron completados enviamos el mail
$mail->Send();
$flag = "ok";
$mensaje = "<div id=\"ok\">SU MENSJAE FUE ENVIADO CORRECTAMENTE</div>";
} else {
// si no todos los campos fueron completados se frena el envío y avisamos al usuario
$flag = "err";
$mensaje = "<div id=\"error\">- Los Campos Marcados con * son Requeridos.".$error_archivo."</div>";
}
}
echo "<div class=\"formulario\">\r\n";
echo $mensaje; // mostramos el estado de envío del formulario
$formulario = "<form id=\"formInscripcion\" action=\"".$PHP_SELF."\" method=\"post\" enctype=\"multipart/form-data\">\r\n";
$formulario .= "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">Nombre:*</td>\r\n";
$formulario .= " <td><input name=\"nombre\" type=\"text\" id=\"nombre\" size=\"50\" /></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">Apellido:*</td>\r\n";
$formulario .= " <td><input name=\"apellido\" type=\"text\" id=\"apellido\" size=\"50\" /></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">E-mail:*</td>\r\n";
$formulario .= " <td><input name=\"email\" type=\"text\" id=\"email\" size=\"50\" /></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">Adjunte aquí su archivo:<br><span style=\"font-size:8px;\">Max. 2 Mb</span></td>\r\n";
$formulario .= " <td>Puede adjuntar hasta ".$cantidad_archivos." archivo".$plural." ";
$formulario .= "<input type=\"file\" class=\"multi max-".$cantidad_archivos."\" name=\"archivo[]\" value=\"".$_FILES["archivos"]."\"></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td valign=\"top\" class=\"nombre_campo\" style=\"vertical-align:top; padding-top:15px;\">Su Consulta:</td>\r\n";
$formulario .= " <td><textarea cols=\"45\" rows=\"10\" name=\"comentario\"></textarea></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td style=\"text-align:center;\" colspan=\"2\">\r\n";
$formulario .= " <button type=\"reset\" class=\"form_btenviar\">BORRAR</button>\r\n";
$formulario .= " <button type=\"submit\" class=\"form_btenviar\" name=\"enviar\">ENVIAR</button>\r\n";
$formulario .= " </td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= "</table>\r\n";
$formulario .= "</form>\r\n";
if ($cantidad_archivos > 1) {
$plural = "s";
} else {
$plural = "";
}
if ($flag!= "ok") {
echo $formulario;
}
echo "</div><!-- fin \"formulario\" -->"\r\n";
</txp:php>
¡Falta incluir correctamente class.phpmailer.php
!
Este bloque llamas desde una página a través de <txp:output_form form="formulario" />
o creas una propia página con el contenido básico (lo extraje de tu código):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="<txp:site_url/>js/jquery.MultiFile.pack.js" type="text/javascript" language="javascript"></script>
</head>
<body>
<txp:output_form form="formulario" />
</body>
</html>
Offline
#7 2013-05-30 16:21:00
- gfdesign
- Member
- From: Argentina
- Registered: 2009-04-20
- Posts: 401
Re: [es-es] Problemas con código PHP en TXP
GugUser, sos un genio. Ahora sí funciona!
Lo único que corregí porque me tiraba error era el comentario del div que cerraba el formulario.
Acá dejo el código completo por si le sirve a alguien.
Muchas gracias!
Fernando
<txp:php>
$direccion_envio = "name@domain.com"; // la dirección a la que se enviara el formulario
$url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]; // la URL donde esta publicado el formulario. SIN la barra al final
$cantidad_archivos = 1; // la cantidad máxima de archivos que se permitirá enviar.
if (isset($_POST["enviar"])) { // si existe "enviar"
require("class.phpmailer.php"); // usamos la clase phpmailer
$mail = new PHPMailer();
//recogemos las variables y configuramos PHPMailer
$mail->From = $_POST["email"];
$mail->FromName = $_POST["nombre"];
$mail->AddAddress($direccion_envio);
$mail->Subject = "Solicitud de presupuesto";
$mail->AddReplyTo($_POST["email"],$_POST["nombre"]);
$mail->IsHTML(true);
$comentario=$_POST["comentario"];
//comprobamos si se adjuntaron archivos, los cargamos en el servidor y los pasamos como adjuntos del email
if (isset($_FILES["archivo"]["tmp_name"])) {
$achivos_adjuntos="";
$i=0;
do {
if($_FILES["archivo"]["tmp_name"][$i] !="")
{
$aleatorio = rand();
$nuevonombre = $aleatorio."-".$_FILES["archivo"]["name"][$i];
copy($_FILES["archivo"]["tmp_name"][$i],"archivos/".$nuevonombre);
$achivos_adjuntos .= "<br /><a href=\"".$url."/archivos/".$nuevonombre."\">".$nuevonombre."</a></strong>";
$mail->AddAttachment($_FILES["archivo"]["tmp_name"][$i], $nuevonombre);
}
$i++;
} while ($i < $cantidad_archivos);
}
//comprobamos si todos los campos fueron completados
if ($_POST["email"]!="") {
$email=$_POST["email"];
$nombre=$_POST["nombre"];
$apellido=$_POST["apellido"];
$comentario=$_POST["comentario"];
$user_ip = $_SERVER["REMOTE_ADDR"];
//armamos el html
$contenido = "<p>Enviado el ".date("d M Y")."</p>";
$contenido .= "<hr />";
$contenido .= "<p>Nombre: <strong>".$nombre."</strong></p>";
$contenido .= "<p>Apellido: <strong>".$apellido."</strong></p>";
$contenido .= "<p>Email: <strong>".$email."</strong></p>";
$contenido .= "<p>Comentario: <strong>".$comentario."</strong></p>";
$contenido .= "<hr />";
$contenido .= "<p>Archivos Adjuntos: ".$achivos_adjuntos."</p>";
$contenido .= "<hr />";
$mail->Body = $contenido;
// si todos los campos fueron completados enviamos el mail
$mail->Send();
$flag = "ok";
$mensaje = "<div id=\"ok\">SU MENSJAE FUE ENVIADO CORRECTAMENTE</div>";
} else {
// si no todos los campos fueron completados se frena el envío y avisamos al usuario
$flag = "err";
$mensaje = "<div id=\"error\">- Los Campos Marcados con * son Requeridos.".$error_archivo."</div>";
}
}
echo "<div class=\"formulario\">\r\n";
echo $mensaje; // mostramos el estado de envío del formulario
$formulario = "<form id=\"formInscripcion\" action=\"".$PHP_SELF."\" method=\"post\" enctype=\"multipart/form-data\">\r\n";
$formulario .= "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">Nombre:*</td>\r\n";
$formulario .= " <td><input name=\"nombre\" type=\"text\" id=\"nombre\" size=\"50\" /></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">Apellido:*</td>\r\n";
$formulario .= " <td><input name=\"apellido\" type=\"text\" id=\"apellido\" size=\"50\" /></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">E-mail:*</td>\r\n";
$formulario .= " <td><input name=\"email\" type=\"text\" id=\"email\" size=\"50\" /></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">Adjunte aquí su archivo:<br><span style=\"font-size:8px;\">Max. 2 Mb</span></td>\r\n";
$formulario .= " <td>Puede adjuntar hasta ".$cantidad_archivos." archivo".$plural." ";
$formulario .= "<input type=\"file\" class=\"multi max-".$cantidad_archivos."\" name=\"archivo[]\" value=\"".$_FILES["archivos"]."\"></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td valign=\"top\" class=\"nombre_campo\" style=\"vertical-align:top; padding-top:15px;\">Su Consulta:</td>\r\n";
$formulario .= " <td><textarea cols=\"45\" rows=\"10\" name=\"comentario\"></textarea></td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= " <tr>\r\n";
$formulario .= " <td style=\"text-align:center;\" colspan=\"2\">\r\n";
$formulario .= " <button type=\"reset\" class=\"form_btenviar\">BORRAR</button>\r\n";
$formulario .= " <button type=\"submit\" class=\"form_btenviar\" name=\"enviar\">ENVIAR</button>\r\n";
$formulario .= " </td>\r\n";
$formulario .= " </tr>\r\n";
$formulario .= "</table>\r\n";
$formulario .= "</form>\r\n";
if ($cantidad_archivos > 1) {
$plural = "s";
} else {
$plural = "";
}
if ($flag!= "ok") {
echo $formulario;
}
echo "</div>";
</txp:php>
Offline
#8 2013-05-30 16:28:13
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: [es-es] Problemas con código PHP en TXP
Corregido:
echo "</div><!-- fin \"formulario\" -->\r\n";
No tiene nada que ver con “genio”. Es básico y no muy avanzado.
¡Saludos y suerte!
Last edited by GugUser (2013-05-30 16:31:40)
Offline
#9 2013-05-30 16:42:53
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: [es-es] Problemas con código PHP en TXP
Además, no haría un formulario como tabla. Cada parte como, por ejemplo …
$formulario .= " <tr>\r\n";
$formulario .= " <td class=\"nombre_campo\">Nombre:*</td>\r\n";
$formulario .= " <td><input name=\"nombre\" type=\"text\" id=\"nombre\" size=\"50\" /></td>\r\n";
$formulario .= " </tr>\r\n";
… se podría simplificar y hacerla más accesible:
$formulario .= " <label for=\"nombre\">Nombre:*</label>\r\n";
$formulario .= " <input id=\"nombre\" name=\"nombre\" type=\"text\" size=\"50\" />\r\n";
Y todo lo demás que tiene que ver con la apariencia a través del CSS externo.
Offline
#10 2013-05-30 17:02:20
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: [es-es] Problemas con código PHP en TXP
En total:
$formulario = "<form id=\"formInscripcion\" action=\"".$PHP_SELF."\" method=\"post\" enctype=\"multipart/form-data\">\r\n";
$formulario .= " <fieldset>\r\n";
$formulario .= " <label for=\"nombre\">Nombre:*</label>\r\n";
$formulario .= " <input id=\"nombre\" name=\"nombre\" type=\"text\" size=\"50\" />\r\n";
$formulario .= " <label for=\"apellido\">Apellido:*</label>\r\n";
$formulario .= " <input id=\"apellido\" name=\"apellido\" type=\"text\" size=\"50\" />\r\n";
$formulario .= " <label for=\"email\">E-mail:*</label>\r\n";
$formulario .= " <input id=\"email\" name=\"email\" type=\"text\" size=\"50\" />\r\n";
$formulario .= " </fieldset>\r\n";
$formulario .= " <fieldset>\r\n";
$formulario .= " <label for=\"archivo\">Adjunte aquí su archivo:</label>\r\n";
$formulario .= " <p>Puede adjuntar hasta ".$cantidad_archivos." archivo".$plural." de max. 2 MB.</p>\r\n";
$formulario .= " <input id=\"archivo\" class=\"multi max-".$cantidad_archivos."\" name=\"archivo\" type=\"file\" value=\"".$_FILES["archivos"]."\" />\r\n";
$formulario .= " </fieldset>\r\n";
$formulario .= " <fieldset>\r\n";
$formulario .= " <label for=\"comentario\">Su Consulta:</label>\r\n";
$formulario .= " <textarea id=\"comentario\" name=\"comentario\" cols=\"45\" rows=\"10\"></textarea>\r\n";
$formulario .= " <button type=\"submit\" class=\"form_btenviar\" name=\"enviar\">Enviar</button>\r\n";
$formulario .= " </fieldset>\r\n";
$formulario .= "</form>\r\n";
Offline
#11 2013-05-31 16:50:07
- gfdesign
- Member
- From: Argentina
- Registered: 2009-04-20
- Posts: 401
Re: [es-es] Problemas con código PHP en TXP
Había usado una tabla porque el diseño que pasó el cliente originalmente era muy rebuscado y además era mucho más rápido postearlo. De todas maneras, gracias por el markup mucho más claro que dejaste.
Un cordial saludo
Offline
Pages: 1