User 5232335
User 5232335
Usuario habitual
Usuario habitual

Hola a todos, cómo les va?

Tengo una web con includes para el index. Uno para la navegación y otro para el contenido (lo típico xD)

El del contenido funciona de la siguiente forma:

urldelaweb/?seccion=nombredelaseccion

Hasta aquí todo bien.
Ahora, he creado un script para introducir en la Base de Datos datos por formularios,que es donde tengo problemas:

El script consta de dos archivos, el de los formularios y donde se imprime la información recibida (printf) llamado tuts.php

Y el que recibe los datos de los formularios y los introduce en la BD llamado 3.php

El problema está en los "links" para enviar la información, es decir:

En el tuts.php

<FORM ACTION="3.php">

En el 3.php

Código:

header("Location: tuts.php");

Estos "links" me dirigen al archivo de la carpeta raíz (urldelaweb/3.php) o (urldelaweb/tuts.php)

Y lo que yo quiero es que me redirigan a urldelaweb/?seccion=tuts o urldelaweb/?seccion=3.php

No sé cómo hacerlo, espero que puedan ayudarme.

Gracias!

Avatar Image
@man / @woman
@man / @woman

Los enlaces con parámetros tienen esta forma:

<a href="url?dato1=valor1&dato2=valor2">

donde url es la url del archivo php que va a recibir los datos

dato1 y dato2 son nombres de variables (para usar por GET o POST)

valor1 y valor2 son los datos propiamente dicho

? separa url de parámetros

& separa parámetros (variable=valor)

User 5232335
User 5232335
Usuario habitual
Usuario habitual

Gracias por contestar GestionXls.

He conseguido trasladar los datos poniendo en la url urldelaweb/?seccion=3&nombre=ABC&etcxD

Pero ahora me da un error del header:

[phpBB Debug] PHP Notice: in file /blabla/secciones/3.php on line 13: Cannot modify header information - headers already sent by (output started at /blabla/navegacion.php:22)

 He estado buscando por google y he visto que puede ser por algun espacio después de ?>, pero no, aquí os dejo las líneas que dice:

3.php línea 13.

  header("Location: http://url/?seccion=tuts"); 

 navegacion.php ínea 22

<marquee scrollAmount="1" direction="right" onMouseover="this.scrollAmount=0" onMouseout="this.scrollAmount=1" style="filter:alpha(opacity=100 finishopacity=0, style=1, startx=0, starty=35, finishx=0, finishy=100)">
 <a href="urldeunafiliado" target="_blank"><img alt="WoD" src="http://i656.photobucket.com/albums/uu290/nichols0n/boton-de-afiliacion-de-wod.gif" /></a></marquee><br><br> 

No sé qué tiene que ver, si no hay código php en esa línea xD

Gracias de nuevo!

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Coloca en tu script donde utiliza header al principio y final del documento lo siguiente :

Spoiler:

<?php ob_start();?>

<?php ob_end_flush();?>

Comentanos que tal.Saludos!. Y por supuesto que no hayan lineas en blanco despues del script.

User 5232335
User 5232335
Usuario habitual
Usuario habitual

Hola, he puesto lo que me has dicho, pero el problema continúa T_T

Os pongo el código del 3.php entero por si hay algún error:

Spoiler:

<?php 
 ob_start();
  include("conex.php"); 
  $link=Conectarse(); 
  $nombre=$_GET['nombre']; 
  $nivel=$_GET['nivel'];  
  $autor=$_GET['autor']; 
  $requisitos=$_GET['requisitos']; 
  $post=$_GET['post']; 
  $outcome=$_GET['outcome'];

  mysql_query("insert into tutoriales (Nombre,Nivel,Autor,Requisitos,Post,Outcome) values ('$nombre','$nivel','$autor','$requisitos','$post','$outcome')",$link); 
   
  header("Location: https://url.webcindario.com/?seccion=tuts"); 
  ob_end_flush();
?>

 El problema sigue igual, cuando envio los datos del formulario se me va al index (con los datos enviados en la barra de direcciones) y tengo que añadir "seccion=3&" para que me los envie al 3.php, pero ahí me sale el error de antes, el mismo.

Aunque parece que los datos sí que se meten en la Base de Datos, asíque el problema está en el Header...

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Sigue apareciendo el error del header?.  O directamente envia al index ?. Saludos!.

User 5232335
User 5232335
Usuario habitual
Usuario habitual

https://advanceddesign.webcindario.com/?seccion=tuts

Ahí puedes probarlo tú mismo, cuando introduces los datos te envía al index, entonces le añades esto a la url:

https://advanceddesign.webcindario.com/?seccion=3&todolodemásdelformulario

Y te lleva al script donde está el header, introduce los datos en la BD y da el error ese del header.

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

A ver te comento lo que yo veo. Es un formulario y quieres que los datos , una vez insertados en la bd , te lleven a la seccion que dices que no te funciona no?.

Si es asi, porque no utilizar variables por $_POST y en el action del form , dirigir al usuario donde tu quieras.

Lo que si podrias hacer, esque una vez pulsado el boton del formulario crear una condicion para ver si la insercion se ha realizado con exito y en este caso, utilizar el header en caso de que sea correcta o dejarlos donde estan indicando el error.

Son suposiciones. Ya nos comentass.Saludos!.

User 5232335
User 5232335
Usuario habitual
Usuario habitual

Acabo de probar con $_POST y va todo bien, pero cuando llega al header, no redirige a donde quiero, sale el error.

Esto es lo que tengo puesto

 header("Location: https://advanceddesign.webcindario.com/?seccion=tuts");

Y sale el error de siempre:

[phpBB Debug] PHP Notice: in file /blabla/secciones/3.php on line 13: Cannot modify header information - headers already sent by (output started at /blabla/navegacion.php:22)

Gracias!!

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Bueno si has utilizado POST al igual que con GET el action del form te mandara a una pagina que le hayas definido.

Por eso como te comente, si no utilizas un condicional para decir : SI LOS DATOS DEL FORM HAN SIDO INSERTADOS CON EXITO enviame a la pagina BUENA (Utilizando Header), en caso contrario, que continue en la pagina del form. Por eso ten cuidado con el action del form y la redireccion con header.

Y aunque ya lo sepas, mirate bien el script con los espacios en blanco despues de finalizar el script.

User 5232335
User 5232335
Usuario habitual
Usuario habitual

Ya lo he conseguido solucionar. El problema estaba en la función header(), ya que no se puede utilizar si hay hay salidas blablabla

Lo he sustituido por un Javascript que redirige al otro archivo.

Gracias a todos!

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Porque no utilzias el refresh de html?. Si lo haces con javascript, corres el riesgo de que usuarios que no tenga js activado , no les vaya la redireccion. Visto que en PHP tienes problemas con las cabeceras, prueba con html en vez de con js. Saludos!.

User 5232335
User 5232335
Usuario habitual
Usuario habitual

Porque el script es para mí, es un panel de control, nadie lo usará.

De todas formas no puedo poner nada en el <head> porque es un include, y lo tendría que poner en el index y tal...

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
No se han encontrado temas similares