Hola a todos, amigos del web.
Tengo un problema con un insert. Llevo bastantes paginas hechas y no me había pasado antes este problema. El caso es que tengo un form con un insert para añadir citas a los clientes. Todo funciona correctamente pero al final de la url de destino me envía un "&" de más. Esto es lo que recibo:
Código HTML:
http://www.pagina.es/agenda.php?nuevo_mes=02&nuevo_ano=2014&dia_actual=16&
Como ven al final de la cadena me repite un "&". En realidad no me da problema para navegar, insertar y consultar.
El problema ha surgido porque quiero que cuando se inserte la cita en la tabla me vaya a la página del día (que es la de arriba), a un div determinado. Al tener un "&" al final de la cadena me muestra esto:
Código HTML:
http://www.pagina.es/agenda.php?nuevo_mes=02&nuevo_ano=2014&dia_actual=16#citasDiv&
Y ahi radica mi problema, al tener un "&" despues de la llamada al ancla no me muestra el div del ancla, se me pone al principio de la pagina como sería normalmente.
No tengo ni idea de como solucionarlo. Les pego 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'];
$comentario = $_POST['txtComentario'];
$tratamiento = $row_Precio["txtPrecio"];
$precio = $_POST["txtPrecio"];
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form9")) {
$insertSQL = sprintf("INSERT INTO Citas_tbl (idCita, txtNombre, txtApellidos, txtTratamiento, txtComentario, datDia, txtCita, txtPrecio, idNombre) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['idCita'], "int"),
GetSQLValueString($nombre, "text"),
GetSQLValueString($apellidos, "text"),
GetSQLValueString($tipo, "text"),
GetSQLValueString($comentario, "text"),
GetSQLValueString($_POST['datDia'], "date"),
GetSQLValueString($_POST['txtCita'], "text"),
GetSQLValueString($precio, "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 = "agenda.php?nuevo_mes=".$mes."&nuevo_ano=".$ano."&dia_actual=".$dia."#citasDiv";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
Nunca me había encontrado con un problema de programación así.... sobretodo porque no se qué pasa.
¿Alguna idea?
Gracias