elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&  (Leído 8,715 veces)
Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
[AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« en: 1 Septiembre 2014, 16:24 pm »

Eso mismo si tengo una linea de codigo PHP muy larga y la quiero partir en varias lineas, hice asi:
Código
  1. # escribimos la sentencia MySQL
  2. $sentencia="UPDATE ".$tabla." set nombres='$nombres',apellidos='$apellidos',direccion='$direccion',ciudad='$ciudad',pais='$pais',nacionalidad='$nacionalidad',";
  3. $sentencia.="cedula='$cedula',tel_movil='$tel_movil',tel_casa='$tel_casa',tel_oficina='$tel_oficina',email='$email',red_email='$red_email',fecha_nac='$fecha_nac',";
  4. $sentencia.="peso='$peso',altura='$altura',rh='$rh',organos='$organos',sangre='$sangre',religion='$religion',alcohol='$alcohol',tabaco='$tabaco',seguro='$seguro',";
  5. $sentencia.="nom_company='$nom_company',num_poliza='$num_poliza',tel_company='$tel_company',num_seg_social='$num_seg_social',historial_clinico='$historial_clinico' where qr='".$qr."'";
  6.  

conocen mas formas de partir el codigo ?


« Última modificación: 1 Septiembre 2014, 19:13 pm por Graphixx » En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
Markul

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #1 en: 1 Septiembre 2014, 16:52 pm »

Puedes continuar el codigo en la siguiente linea sin problemas,no es necesario partir la consulta de ese modo,si no me equivoco,de cualquier forma para hacer lo que intentas prueba asi:
Código
  1.    # escribimos la sentencia MySQL
  2.    $sentencia="UPDATE ".$tabla." set nombres='$nombres',apellidos='$apellidos',direccion='$direccion',pais='$pais',nacionalidad='$nacionalidad',";
  3.    $sentencia=$sentencia ."cedula='$cedula',celular='$celular',telefono='$telefono',tel_oficina='$tel_oficina',email='$email',red_email='$red_email',fecha_nac='$fecha_nac',";
  4.    $sentencia=$sentencia ."peso='$peso',rh='$rh',organos='$organos',sangre='$sangre',religion='$religion',alcohol='$alcohol',tabaco='$tabaco',seguro='$seguro',";
  5.    $sentencia= $sentencia ."nom_company='$nom_company',num_poliza='$num_poliza',tel_company='$tel_company',num_seg_social='$num_seg_social',hist_clinico='$hist_clinico' where qr=".$qr;
  6.  


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #2 en: 1 Septiembre 2014, 17:05 pm »

Prueba:

Código
  1. $sentencia = <<<END
  2. UPDATE "$tabla" set nombres='$nombres',apellidos='$apellidos',direccion='$direccion',pais='$pais',nacionalidad='$nacionalidad',
  3. cedula='$cedula',celular='$celular',telefono='$telefono',tel_oficina='$tel_oficina',email='$email',red_email='$red_email',fecha_nac='$fecha_nac',
  4. peso='$peso',rh='$rh',organos='$organos',sangre='$sangre',religion='$religion',alcohol='$alcohol',tabaco='$tabaco',seguro='$seguro',
  5. nom_company='$nom_company',num_poliza='$num_poliza',tel_company='$tel_company',num_seg_social='$num_seg_social',hist_clinico='$hist_clinico' where qr=$qr
  6. END;
  7.  
  8. $sentencia = str_replace(PHP_EOL, '', $sentencia);

Nota: Estás sacrificando eficiencia por legibilidad.

Lo correcto sería configurar tu editor de texto para las oraciones largas.

« Última modificación: 1 Septiembre 2014, 17:28 pm por MinusFour » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #3 en: 1 Septiembre 2014, 17:13 pm »

@Graphixx y printeaste la cadena y la ejecutaste en el motor de base de datos?
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #4 en: 1 Septiembre 2014, 19:15 pm »

@Graphixx y printeaste la cadena y la ejecutaste en el motor de base de datos?

La consulta me funciona tal y como esta (ya la actualice)... lo que queria era saber que otras formas de partir codigo existen, estuve leyendo en foros y decian que con && pero con "&&" no me funciono.
En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #5 en: 1 Septiembre 2014, 20:10 pm »

Como es eso de partirlo? lo que debes hacer es acostumbrarte a identar los códigos estén en el legunaje que estén:

Código
  1. <?php
  2. /* escribimos la sentencia MySQL */
  3. $sentencia = '
  4. UPDATE '.$tabla.'
  5. SET
  6. nombres = "'.$nombres.'",
  7. apellidos = "'.$apellidos.'",
  8. direccion = "'.$direccion.'",
  9. ciudad = "'.$ciudad.'",
  10. pais = "'.$pais.'",
  11. nacionalidad = "'.$nacionalidad.'",
  12. cedula = "'.$cedula.'",
  13. tel_movil = "'.$tel_movil.'",
  14. tel_casa = "'.$tel_casa.'",
  15. tel_oficina = "'.$tel_oficina.'",
  16. email = "'.$email.'",
  17. red_email = "'.$red_email.'",
  18. fecha_nac = "'.$fecha_nac.'",
  19. peso = "'.$peso.'",
  20. altura = "'.$altura.'",
  21. rh = "'.$rh.'",
  22. organos = "'.$organos.'",
  23. sangre = "'.$sangre.'",
  24. religion = "'.$religion.'",
  25. alcohol = "'.$alcohol.'",
  26. tabaco = "'.$tabaco.'",
  27. seguro = "'.$seguro.'",
  28. nom_company = "'.$nom_company.'",
  29. num_poliza = "'.$num_poliza.'",
  30. tel_company = "'.$tel_company.'",
  31. num_seg_social = "'.$num_seg_social.'",
  32. historial_clinico = "'.$historial_clinico.'"
  33. WHERE qr = "'.$qr.'"
  34. ';

Recuerda escapar cada variable con mysqli_escape_string() para prevenir las inyecciones sql y usar el objeto DateTime() para validar fechas y exportar con el formato sql ( $ob->format('Y-m-d') ).

Mira, acá hay una consulta sql que hice hace tiempo y a pesar del tamaño que tiene mantengo la identación y no necesito partirla o separarla (auqnue esta consulta ya no lo uso porque estaba muy pesada, ahora uso tablas para caché desnormalizadas):

Código
  1. <?php
  2.  
  3. $busqueda = $this->mysqli->query('
  4. SELECT
  5. usuarios.id,
  6. usuarios.apellidos,
  7. usuarios.nombres,
  8.  
  9. COUNT(DISTINCT especialidades_areas.id) as cantidad_especialidades,
  10. COUNT(DISTINCT centros_medicos.id) as cantidad_centros_medicos,
  11. COUNT(DISTINCT profesionales_titulos.id) as cantidad_titulos,
  12.  
  13. IF(usuarios.hash_foto IS NOT NULL, 0, 1) as tiene_foto,
  14. IF(COUNT(DISTINCT especialidades_areas.id) = 0, 0, 1) as tiene_especialidades,
  15. IF(COUNT(DISTINCT centros_medicos.id) = 0, 0, 1) as tiene_centros_medicos,
  16. IF(COUNT(DISTINCT profesionales_titulos.id) = 0, 0, 1) as tiene_titulos
  17.  
  18. FROM usuarios
  19.  
  20. INNER JOIN usuarios_roles_relacion ON (usuarios_roles_relacion.usuario_id = usuarios.id)
  21. INNER JOIN usuarios_roles ON (usuarios_roles.id = usuarios_roles_relacion.usuarios_rol_id)
  22.  
  23. LEFT JOIN especialidades_areas_relacion_profesionales ON (especialidades_areas_relacion_profesionales.usuario_id = usuarios.id)
  24. LEFT JOIN especialidades_areas ON (especialidades_areas.id = especialidades_areas_relacion_profesionales.especialidades_area_id)
  25. LEFT JOIN usuarios_relacion_centro_medico ON (
  26. usuarios_relacion_centro_medico.usuario_id = usuarios.id AND
  27. usuarios_relacion_centro_medico.usuarios_rol_id = (
  28. SELECT id
  29. FROM usuarios_roles
  30. WHERE namespace = "profesional"
  31. LIMIT 1
  32. )
  33. )
  34. LEFT JOIN centros_medicos ON (centros_medicos.id = usuarios_relacion_centro_medico.centro_medico_id)
  35. LEFT JOIN centros_medicos_tipos ON (centros_medicos_tipos.id = centros_medicos.centros_medicos_tipo_id)
  36. LEFT JOIN profesionales_titulos ON (profesionales_titulos.usuario_id = usuarios.id)
  37.  
  38. WHERE
  39. usuarios_roles.namespace = "profesional" AND
  40. usuarios.esta_acreditado_superintendencia = 1 AND
  41. CONCAT_WS(
  42. " ",
  43.  
  44. usuarios.apellidos,
  45. usuarios.nombres,
  46. usuarios.apellidos,
  47.  
  48. profesionales_titulos.texto,
  49.  
  50. centros_medicos_tipos.nombre,
  51. centros_medicos.nombre,
  52.  
  53. especialidades_areas.nombre,
  54.  
  55. centros_medicos_tipos.nombre,
  56. centros_medicos.nombre,
  57.  
  58. profesionales_titulos.texto,
  59.  
  60. usuarios.apellidos,
  61. usuarios.nombres,
  62. usuarios.apellidos,
  63.  
  64. " "
  65. ) LIKE "%pedro%"
  66.  
  67. GROUP BY usuarios.id
  68.  
  69. ORDER BY
  70. tiene_foto,
  71. usuarios.apellidos,
  72. usuarios.nombres
  73. ');
« Última modificación: 1 Septiembre 2014, 20:14 pm por WHK » En línea

Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #6 en: 2 Septiembre 2014, 00:19 am »

WHK ,
que diferencia hay entre importar la variable asi:
Código
  1. nombres='$nombres',
A importar la variable asi:
Código
  1. nombres= "'.$nombres.'",
Gracias.
« Última modificación: 2 Septiembre 2014, 04:27 am por WHK » En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #7 en: 2 Septiembre 2014, 04:27 am »

Varias, la primera es costumbre, la segunda es mayor control, no puedes evaluar todo tipo de objetos sobre comillas dobles, yo acostumbro a usar objetos y entre comillas dobles casi nunca funcionan o funcionan mal y terminan en fugas de información inesperadas.

Con comillas simples el string no se evalua, con comillas dobles si se evalua, el problema viene cuando usas mucho código html dentro de código php, por ejemplo:

Código:
<a href="" <?php id($x) echo 'class="active"'; ?>>xxx</a>

Si lo hubiera hecho en php con comillas dobles hubiera tenido que haber escrito html con comillas simples y puede ser peligroso porque casi todos los lenguajes de programación incluyendo php filtran comillas dobles para prevenir los xss pero no las simples a menos que des parámetros especiales a las funciones como ENT_QUOTES.

Mayor control también porque puedes procesar funciones sobre variables entremedio, por ejemplo:

Código
  1. <?php
  2. $extras = 'ghi';
  3. echo '
  4.  abc
  5.  def
  6.  '.$this->str->escapeHtml($extras).'
  7.  jkl
  8. ';

Hacer esto con comillas dobles poniendo las variables por dentro puede generar:

Mal acostumbramiento a usar variables que tienen solo un uso de vida, por ejemplo:
Código
  1. <?php
  2. $extras = $this->str->escapeHtml('ghi');
  3. echo "
  4.  abc
  5.  def
  6.  $extras
  7.  jkl
  8. ';

Ahi hay varios problemas, uno que $extras ya no lo podrás usar en un contexto que no sea html porque va filtrada,, por ejemplo si lo quieres usar en una consulta sql o dentro de una variable javascript no te servirá porque estará codificada en html, el orto problema es que talves quieras poner un simbolo peso entremedio y tendrás que usar carácteres de escape porque se va a evaluar y puede ser peligroso, otro problema como lo dije antes va en los códigos html, por ejemplo simplemachines (el sistema en php de este foro) escribe mucho las etiquetas html en echo por lo cual debes usar muchisimos carácteres de escape porque tanto php como el html los escriben en comillas dobles o podrás caer en agujeros de seguridad o en problemas de codificación.

Por ejemplo:

Código
  1. <?php
  2. echo "<a href=\"#\">\$ 0.00 pesos</a>";

Entonces para no hacer trabajo de más, prevenir agujeros de seguridad, hacer que php no evalue haciendo los echos mas rápidos, prevenir tener que estar escribiendo a cada rato carácteres de escape, etc etc mejor te acostumbras a usar una sola manera de hacer las cosas... para mi la mejor manera y la mas correcta es usar siempre código php con comillas simples, concatenar variables con un punto y escribir código html en comillas dobles.

Cuando necesito escribir código javascript dentro de php escribo php en comillas simples y javascript en comillas dobles, pero cuando javascript lo escribo en un archivo solo entonces ahi lo uso también con comillas simples, solamente html es el único lenguaje que siempre siempre uso con comillas dobles y sin excepción, las consultas sql desde php las hago con comillas dobles y php con comillas simples.

De esta manera cuando voy a programar nunca tengo problemas ni enredos con las comillas y nunca me dan problemas de ningún tipo, salvo cuando debo escribir obligadamente comillas simples sobre comillas simples, ahi si uso las secuencias de escape pero son muy pocas las veces y trato de evitarlas, en html cuando necesito escribir valores con comillas simples y dobles uso html entities, como &quote;

Saludos.
En línea

Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #8 en: 2 Septiembre 2014, 15:51 pm »

Gracias compañero queda todo muy claro, nos salimos un poco del tema, pero todo nutre el aprendizaje en PHP.
En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: [AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&
« Respuesta #9 en: 4 Septiembre 2014, 06:43 am »

Otra forma de poder usar variables, sobre todo objetos, entre comillas dobles y que sea menos confuso:

Código
  1. echo "Hola {$obj->text}";
  2.  

Y si, la manera correcta es identar bien los strings como lo indica WHK. Así no tendrás enemigos y tu vida nunca correrá peligro  :D
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
contar saltos de linea RichTextBox VB
Programación Visual Basic
Carlosnuel 5 12,568 Último mensaje 6 Abril 2007, 01:55 am
por CeLaYa
Saltos de linea
PHP
zhynar_X 2 5,353 Último mensaje 8 Septiembre 2007, 17:59 pm
por дٳŦ٭
Saltos de linea en PHP.
PHP
Akise 2 1,938 Último mensaje 25 Junio 2013, 03:33 am
por Akise
Ayuda con saltos de línea
Programación Visual Basic
TheH4ck 7 3,214 Último mensaje 13 Marzo 2015, 18:58 pm
por okik
¿Cómo imprimir un string sin que este tenga saltos de línea? Hice un script de letras de canciones
Scripting
emperie 1 2,176 Último mensaje 21 Agosto 2023, 17:44 pm
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines