Últimamente parece que me estoy encontrando con cosas que sabía hacer y que se me han olvidado o no lo sé. El caso es que estoy con un problema de variables. Les cuento:
Tengo una agenda de citas en la web con php y mysql. Tengo una página llamada agenda_hoy, en la que inserto una nueva cita en una ventana modal y me hace el insert a la BD y me lleva a agenda_mes?XXXX(datos de la fecha) al día en el que se añadió la cita. Esta es la url de destino después del insert:
Código PHP:
$insertGoTo = "agenda.php?nuevo_mes=".$mes."&nuevo_ano=".$ano."&dia_actual=".$dia."";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
Código PHP:
agenda.php?nuevo_mes=02&nuevo_ano=2014&dia_actual=15
El problema está cuando en esta misma página hago un insert nuevo de cita y me pasa los variables bien y me hace el insert bien,todo correcto, pero no me lleva al día porque se duplican las variables, es decir, si la cita es el 16-02-2014 y estoy en la dirección que puse arriba me devuelve esta cadena:
Código PHP:
agenda.php?nuevo_mes=02&nuevo_ano=2014&dia_actual=16&nuevo_mes=2&nuevo_ano=2014&dia_actual=15
Os paso el código a ver si me pueden echar una mano.
Este es el insert:
Código PHP:
$nombre = $row_Datos['txtNombre'];
$apellidos = $row_Datos['txtApellidos'];
$id = $row_Datos['idCliente'];
$tipo = $_POST['Tipo'];
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO Citas_tbl (idCita, txtNombre, txtApellidos, txtTratamiento, txtComentario, datDia, txtCita, idNombre) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['idCita'], "int"),
GetSQLValueString($nombre, "text"),
GetSQLValueString($apellidos, "text"),
GetSQLValueString($tipo, "text"),
GetSQLValueString($_POST['txtComentario'], "text"),
GetSQLValueString($_POST['datDia'], "date"),
GetSQLValueString($_POST['txtCita'], "text"),
GetSQLValueString($id, "int"));
mysql_select_db($database_opencel, $opencel);
$Result1 = mysql_query($insertSQL, $opencel) or die(mysql_error());
$dia=$_POST['datDia'];
$fecha=explode("-", $dia);
$ano=$fecha[0];
$mes=$fecha[1];
$dia=$fecha[2];
$insertGoTo = "opencel_agenda.php?nuevo_mes=".$mes."&nuevo_ano=".$ano."&dia_actual=".$dia."";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
Código HTML:
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1"> <table align="center" width="100%"> <tr valign="bottom" height="40px"> <td nowrap="nowrap" align="right" valign="middle">Nombre: </td> <td style="padding-left:15px"> <select name="Clientes" id="Clientes" autofocus="autofocus" class="button_cita"> <option value="0">--Seleccionar--</option> <option value="0"></option> <?php do { ?> <option value="<?php echo $row_Desplegable_clientes['idCliente']?>" <?php if (!(strcmp($row_Desplegable_clientes['idCliente'], ""))) {echo "SELECTED";} ?>><?php echo $row_Desplegable_clientes['txtApellidos']; ?>, <?php echo $row_Desplegable_clientes['txtNombre']?></option> <?php } while ($row_Desplegable_clientes = mysql_fetch_assoc($Desplegable_clientes)); $rows = mysql_num_rows($Desplegable_clientes); if($rows > 0) { mysql_data_seek($Desplegable_clientes, 0); $row_Desplegable_clientes = mysql_fetch_assoc($Desplegable_clientes); } ?> </select> </td> </tr> <tr> <td nowrap="nowrap" align="right" valign="middle">Día: </td> <td style="padding-left:5px;padding-top:5px" align="left" valign="middle"> <input type="date" name="datDia" value="" size="20" class="button" /> </td> </tr> <tr valign="baseline"> <td align="right" valign="middle" nowrap="nowrap">Hora: </td> <td style="padding-left:5px"><input type="text" name="txtCita" value="" size="20" class="button" style="cursor:text;" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right" valign="middle">Tratamiento: </td> <td style="padding-left:15px"> <select name="Tipo" id="Tipo" onchange="" class="button_cita"> <option value="0">--Seleccionar--</option> <option value="0"></option> <option value="0">CORPORALES</option> <?php do { ?> <option value="<?php echo $row_Corporales['txtNombre']?>"> <?php echo $row_Corporales['txtNombre']?></option> <?php } while ($row_Corporales = mysql_fetch_assoc($Corporales)); $rows = mysql_num_rows($Corporales); if($rows > 0) { mysql_data_seek($Corporales, 0); $row_Corporales = mysql_fetch_assoc($Corporales); } ?> <option value="0"></option> <option value="0">FACIALES</option> <?php do { ?> <option value="<?php echo $row_Faciales['txtNombre']; ?>"> <?php echo $row_Faciales['txtNombre']; ?></option> <?php } while ($row_Faciales = mysql_fetch_assoc($Faciales)); $rows = mysql_num_rows($Faciales); if($rows > 0) { mysql_data_seek($Faciales, 0); $row_Faciales = mysql_fetch_assoc($Faciales); } ?> <option value="0"></option> <option value="0">DENTALES</option> <?php do { ?> <option value="<?php echo $row_Dentales['txtNombre']; ?>"> <?php echo $row_Dentales['txtNombre']; ?></option> <?php } while ($row_Dentales = mysql_fetch_assoc($Dentales)); $rows = mysql_num_rows($Dentales); if($rows > 0) { mysql_data_seek($Dentales, 0); $row_Dentales = mysql_fetch_assoc($Dentales); } ?> <option value="0"></option> <option value="0"></option> </select> </td> </tr> <tr valign="baseline"> <td align="right" valign="top" nowrap="nowrap" style="padding-top:5px">Comentario: </td> <td style="padding-left:10px;padding-top:5px"> <textarea name="txtDireccion" cols="24" rows="4" value="" class="button" style="cursor:text;resize:none"></textarea> </td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right"> </td> <td valign="middle" style="padding-left:5px;padding-top:15px"> <input type="submit" value="Guardar" style="cursor:pointer" class="button" /> <input type="button" value="Cerrar" onclick="javascript:cerrarVentana();" style="cursor:pointer" class="button" /> </td> </tr> </table> <input type="hidden" name="MM_insert" value="form1" /> </form>
Código Javascript:
Ver original
<script> function mostrarVentana() { var ventana = document.getElementById('miVentana'); ventana.style.marginTop = "25px"; ventana.style.left = ((document.body.clientWidth-500) / 2) + "px"; ventana.style.display = 'block'; } function cerrarVentana() { var ventana = document.getElementById('miVentana'); ventana.style.display = 'none'; } </script>
¿Alguna idea?
Gracias de antemano.