dos acciones en un submit

jorg
03 de Septiembre del 2004
tengo un formulario con dos botones,"grabar y enviar" y "grabar".Ambos tiene como name "opcion" la recupero en la siquiente pag. pr al hacer el if s me cuelga.Si elif me graba y enviaa la vez.
Tb habia pensado hacerlo con una funcion en el evento onClick del boton grabar pr se cuelga. Q puedo hacer?
El fichero adjunto tampoco se ve,lo envia pr m llega al correo letras sin sentido.A ver si me podeis hechar una mano.GRACIAS
CODIGO:
<?

include ("./includes/conf.php");
include ("./includes/class_contacto.php");

$id=miREQUEST("id", $HTTP_GET_VARS, $HTTP_POST_VARS);
$respondido=miREQUEST("respondido", $HTTP_GET_VARS, $HTTP_POST_VARS);
$respondido_por=miREQUEST("respondido_por", $HTTP_GET_VARS, $HTTP_POST_VARS);
$respuesta=miREQUEST("respuesta", $HTTP_GET_VARS, $HTTP_POST_VARS);
$confirmado=miREQUEST("confirmado", $HTTP_GET_VARS, $HTTP_POST_VARS);
$observaciones=miREQUEST("observaciones", $HTTP_GET_VARS, $HTTP_POST_VARS);
$destinatario=miREQUEST("email", $HTTP_GET_VARS, $HTTP_POST_VARS);
$opcion=miREQUEST("opcion", $HTTP_GET_VARS, $HTTP_POST_VARS);
$archivo_name= $HTTP_POST_FILES['archivo']['name'];
$archivo_size= $HTTP_POST_FILES['archivo']['size'];
$archivo_type= $HTTP_POST_FILES['archivo']['type'];
$archivo= $HTTP_POST_FILES['archivo']['tmp_name'];

//Conecto bdd
mysql_connect($Servidor, $Usuario, $Clave);

//Creamos la sentencia sql
$sSQL="Update contacto Set respondido='$respondido', respondido_por='$respondido_por', respuesta='$respuesta', confirmado='$confirmado', observaciones='$observaciones' Where id='$id'";
mysql_db_query("incosol",$sSQL);

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Respuesta de Incosol</title>
</head>

<body>

<?
$UN_SALTO="rn";
$DOS_SALTOS="rnrn";

if ($archivo != "none" AND $archivo_size != 0){

if (copy ($archivo, $archivo_name)) {
echo "<h2>Se ha transferido el archivo $archivo_name</h2>";
echo "<br>Su tamaño es: $archivo_size bytes<br>";
echo "<br>El fichero es tipo: $archivo_type <br>";
}
}else{
echo "<h2>No ha podido transferirse el fichero</h2>";
echo "<h3>su tamaño no puede exceder de $lim_tamano bytes</h2>";
}

IF ($OPCION=="Grabar_Enviar) {
//para el envío en formato HTML
$headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/plain; charset=iso-8859-1rn";

//dirección del remitente
$headers .= "From: Hotel Incosol <[email protected]>rn";

//direcciones que recibirán copia
$headers .= "Cc: [email protected]";

//direcciones que recibirán copia oculta
$headers .= "Bcc: [email protected]";

$separador = "_separador_de_trozos_".md5 (uniqid (rand()));

$asunto = "Respuesta de Incosol a su consulta";

$cuerpo = $respuesta."rn";

# Separador de partes

$adj1 = $UN_SALTO."--$separador".$UN_SALTO;

//Fichero adjunto
$adj1 .="Content-Type: application/octet-stream; name="$archivo"".$UN_SALTO;
$adj1 .="Content-Disposition: attachment; filename="$archivo"".$UN_SALTO;
$adj1 .="Content-Transfer-Encoding: base64".$DOS_SALTOS;

# lectura del fichero adjunto

$fp = fopen("$archivo", "r");
$buff = fread($fp, filesize("$archivo"));
fclose($fp);

# codificación del fichero adjunto
$adj1 .=chunk_split(base64_encode($buff));

// separador final del mensaje
$adj1 .=$UN_SALTO."--$separador".$UN_SALTO;

// Unión de las diferentes partes para crear el cuerpo del mensaje
$cuerpo=$respuesta.$adj1;

mail($destinatario,$asunto,$cuerpo,$headers)
}
?>

<div id="Layer3" style="position:absolute; left:192px; top:127px; width:592px; height:447px; z-index:3">
<h1><div align="center">OPERACION REALIZADA CON EXITO</div></h1>
<div align="center"><a href="contactos.php">Listado Contactos</a></div>

</div>

<input id="destinatario" name="destinatario" type="hidden" value="<?php echo $email ?>" />

</body>
</html>

peddomgar
03 de Septiembre del 2004
Pues prueba a hacer una función, y después la otra.