Foros del Web » Programando para Internet » PHP »

incrustar código javascript en php

Estas en el tema de incrustar código javascript en php en el foro de PHP en Foros del Web. Hola. En una pagina cuento el número de registros de mi base de datos que corresponden al mismo día y a la misma ip, para ...
  #1 (permalink)  
Antiguo 22/08/2013, 16:04
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
incrustar código javascript en php

Hola. En una pagina cuento el número de registros de mi base de datos que corresponden al mismo día y a la misma ip, para verificar si se ha llenado un formulario.
Entonces hago un IF:
a) Si el número de registros es 0 entonces voy a la pagina principal (hago una redireccion), para que se llene el formulario
b) Si el número de registros es >0 , entonces el script continúa normalmente, ya que el formulario está lleno.

Cita:
$consulta_formulario_lleno = "SELECT count(*) AS Total from usuarios WHERE ip = '".$realip."' and fecha = '".$fecha."'";
$fila=mysql_fetch_assoc(mysql_query($consulta_form ulario_lleno));
$registros_totales = $fila['Total'];


if ($registros_totales=0) {
<script language="javascript">document.write(location.href ="index.php");</script>
else {//continua el script}
El problema es que me da error, ni siquiera con un "echo" pude determinar el error.
Cuando cerre el símbolo de php, ahí si me hizo la redirección a la pagina principal

Cita:
$consulta_formulario_lleno = "SELECT count(*) AS Total from usuarios WHERE ip = '".$realip."' and fecha = '".$fecha."'";
$fila=mysql_fetch_assoc(mysql_query($consulta_form ulario_lleno));
$registros_totales = $fila['Total'];
?>
<script language="javascript">document.write(location.href ="index.php");</script>';

<?php
// Aca continúa el script
Pregunto: Como puedo hacer para incrustar el código
Cita:
<script language="javascript">document.write(location.href ="indexcopy.php");
Dentro de un if en php?
Gracias!
  #2 (permalink)  
Antiguo 22/08/2013, 16:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: incrustar código javascript en php

Mira esto:
Código PHP:
Ver original
  1. <?php if (/* algo */) { ?>
  2. <script/>
  3. <?php } ?>

¿Se entiende?

La otra forma sería así:
Código PHP:
Ver original
  1. // MAL
  2. if (/* algo */) {
  3.   <script/>
  4. }
  5.  
  6. //BIEN
  7. if (/* algo */) {
  8.   echo '<script/>';
  9. }

Siempre y cuando respetes la sintaxis propia de HTML con sus comillas y demás no deberías tener problemas, aunque ciertamente no hace falta usar echo cuando la primer forma produce el mismo resultado y no provoca problemas.

En fin, el manejo de sintaxis básica de PHP es lo que te hace falta, deberías consultar un manual.

Dentro de PHP el HTML puede ser tratado como una cadena de texto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/08/2013, 16:27
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: incrustar código javascript en php

Gracias por la respuesta. Puse esto:
Cita:
$consulta_formulario_lleno = "SELECT count(*) AS Total from usuarios WHERE ip = '".$realip."' and fecha = '".$fecha."'";
$fila=mysql_fetch_assoc(mysql_query($consulta_form ulario_lleno));
$registros_totales = $fila['Total'];
if ($registros_totales=0) { ?>
<script language="javascript">document.write(location.href ="index.php");</script>';
<?php }
else {...// Continua script
No me redigirió (ya que $registros_totales>0) pero tampoco continuó el script. ¿Que puede haber sucedido?
  #4 (permalink)  
Antiguo 22/08/2013, 16:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: incrustar código javascript en php

1. Las comparaciones son con dos == y tu estás usando asignación
2. Recuerda que PHP se pre-procesa en el servidor, así que imprimir Javascript no hará que se ejecute inmediatamente hasta que el PHP termine de procesarse y después lo reciba el navegador, etc.
3. En dado caso después de colocar el código HTML has un exit() para finalizar el flujo del script

Código PHP:
<?php if ($esto == 'aquello') { ?>
  <script />
<?php
  
exit();
?>
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 22/08/2013, 16:46
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: incrustar código javascript en php

No, sigue igual. Ya lo había probado.
  #6 (permalink)  
Antiguo 22/08/2013, 16:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: incrustar código javascript en php

Pues entonces no podemos adivinar que haces mal, ¿o qué esperas para mostrar lo que tienes ahora?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 22/08/2013, 16:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: incrustar código javascript en php

Iré probando para afinar el error y luego sigo posteando, gracias.
  #8 (permalink)  
Antiguo 22/08/2013, 17:11
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: incrustar código javascript en php

Cita:
//Verificar que el formulario de la pagina index.php esté lleno:

$consulta_formulario_lleno = "SELECT count(*) AS Total from usuarios WHERE ip = '".$realip."' and fecha = '".$fecha."'";
$fila=mysql_fetch_assoc(mysql_query($consulta_form ulario_lleno));
$registros_totales = $fila['Total'];
if ($registros_totales==0) { ?>
<script language="javascript">document.write(location.href ="index.php");</script>';
<?php }
else {
En vez de redirigir, me imprime en pantalla
Cita:
;
(punto y coma)

es como si hubiese hecho un header() en php de un archivo que contiene solo un ;
  #9 (permalink)  
Antiguo 22/08/2013, 17:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: incrustar código javascript en php

Se debe a que el HTML que estás utilizando está mal, y al final del mismo colocas '; ¿o no lo ves?

Código HTML:
Ver original
  1. <!-- MAL -->
  2.  <script language="javascript">document.write(location.href ="index.php");</script>';
  3.  
  4. <!-- BIEN -->
  5. <script type="text/javascript">document.location.href = "index.php";</script>

PDTA: Aprende bien HTML/Javascript antes de combinarlo con cualquier otra tecnología, de otra forma siempre te vas a dar topes en la pared por detalles.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 22/08/2013, 17:31
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: incrustar código javascript en php

Cita:
$consulta_formulario_lleno = "SELECT count(*) AS Total from usuarios WHERE ip = '".$realip."' and fecha = '".$fecha."'";
$fila=mysql_fetch_assoc(mysql_query($consulta_form ulario_lleno));
$registros_totales = $fila['Total'];
if ($registros_totales==0) { ?>
<script type="text/javascript">document.location.href ="index.php";</script>;
<?php }
else {
Sigue el mismo error (;)
  #11 (permalink)  
Antiguo 22/08/2013, 17:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: incrustar código javascript en php

¿De verdad no ves que no es un error?

Cita:
<script type="text/javascript">document.location.href ="index.php";</script>;
Mira bien tu código, ahí tienes el ; (lo he marcado con rojo) constante y sonante al final del tag <script>, ¿o estoy viendo mal?

Ahora eso no significa que sea un error, sencillamente tienes dicho carácter como texto y por eso es visible.

Después de que corrijas eso revisa lo que hay en el navegador, ya sabes, clic derecho, ver código fuente, etc.

¿Está o no está presente el código <script> en cuestión?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 22/08/2013, 18:01
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: incrustar código javascript en php

No creo que sea un problema de sintaxis, porque salta rápido al hacer un echo y no es el caso. Me borra una parte del documento, como si hiciera un header() pero no pone nada.
Inserté un registro para ver si continuaba el script y el script continúa cuando $registros_totales >0. Cuando no hay registros ($registros_totales==0), el script falla en abrir el archivo index.

Última edición por omdsetenta; 22/08/2013 a las 18:09
  #13 (permalink)  
Antiguo 24/08/2013, 17:58
Avatar de miguelangelbravo  
Fecha de Ingreso: marzo-2011
Mensajes: 23
Antigüedad: 13 años
Puntos: 1
Respuesta: incrustar código javascript en php

Hola, lo que te esta tratando de decir varios comentarios atras pateketrueke es que hay un ;(punto y coma) al final de la etiqueta </script>, borralo y verifica.

Código PHP:
Ver original
  1. <?php
  2. $consulta_formulario_lleno = "SELECT count(*) AS Total from usuarios WHERE ip = '".$realip."' and fecha = '".$fecha."'";
  3. $fila=mysql_fetch_assoc(mysql_query($consulta_form ulario_lleno));
  4. $registros_totales = $fila['Total'];
  5. if ($registros_totales==0) { ?>
  6. <script type="text/javascript">document.location.href ="index.php";</script>[B][COLOR="Red"];[/COLOR][/B]
  7. <?php }
  8. else {
  9. }
  10. ?>

Etiquetas: formulario, incrustar, javascript, registro, select, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:05.