Foros del Web » Programando para Internet » PHP »

PHP OO duda sencilla php

Estas en el tema de duda sencilla php en el foro de PHP en Foros del Web. buenas noches, espero que se encuentren bien, tengo dos dudas: 1. el manejo de sesiones ya leí en varias partes y dice que se debe ...
  #1 (permalink)  
Antiguo 14/02/2013, 19:46
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 10 meses
Puntos: 2
Pregunta duda sencilla php

buenas noches,

espero que se encuentren bien, tengo dos dudas:

1. el manejo de sesiones ya leí en varias partes y dice que se debe poner session_star() al comienzo de todos los archivos, mi duda es la siguiente:

¿en todas los archivos php y html de mi aplicación debo poner esa linea al comienzo o sólo donde se necesite una variable de sesión para hacer alguna operación?

si la respuesta es que no, entonces si el usuario entrara a una página html (donde no se requiere una variable de sesión aunque dicha sesión ya haya sido iniciada) o hiciera el llamado a un archivo php que no requiere de variales de sesión y en ambos casos (tanto en el archivo html como en el php) no se tuviera el metodo session_start() (obviamente por no usar variables de sesion en esos archivos), la sesión se pierde para su uso en archivos posteriores en los que le usuario navegue????


2. estoy programando orientado a objetos por eso tengo clases en php que hacen o ejecutan funciones y estas retornan algun valor, por ejemplo un array de array con los datos de una tabla de la bd para ser mostrada al usuario, ya se como pasar datos de html a php, es decir por formularios, pero mi pregunta es, si quiero mostrar en un archivo html los datos de una tabla de mi bd arrojados por otro archivo php, ¿cómo le paso esos datos a ese archivo html?, lo digo porque al pasar datos de html a php, se usa el metodo post o el get y listo, pero cuando es al reves???


de antemano muchas gracias por su ayuda
espero haberme dado a entender
__________________
http://tecnologiaco.com/
  #2 (permalink)  
Antiguo 14/02/2013, 20:36
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: duda sencilla php

Para la primera pregunta..si no te hace falta la sesión, y no la quieres iniciar..no hace falta que la inicies.No se perderá.
Sobre lo segundo, creo que tienes algo liados algunos conceptos.
Cita:
lo digo porque al pasar datos de html a php, se usa el metodo post o el get y listo, pero cuando es al reves???
El método post y get no "pasan datos de html a php".
HTML es el lenguaje en el que se especifica un documento que se renderiza en un navegador.
Todo lo que tenga que ver con HTML, por tanto, pasa en el navegador (cliente).
PHP es un lenguaje de servidor (simplificando).Lo que tiene que ver con PHP ocurre en el servidor.Normalmente PHP se usa para generar una salida HTML, que se envía al navegador.
GET y POST no son ni HTML ni PHP, son conceptos de HTTP, que es el protocolo por el cual el navegador (cliente) pide al servidor un recurso (sea un fichero que genera una salida HTML, sea una imagen, o cualquier otra cosa).
Si tienes claro lo anterior, la respuesta es sencilla: los datos recogidos por PHP de la base de datos, son usados por PHP para generar su salida, sea HTML, json, o lo que sea.
  #3 (permalink)  
Antiguo 15/02/2013, 01:21
 
Fecha de Ingreso: noviembre-2011
Ubicación: medellin
Mensajes: 19
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: duda sencilla php

session_start se usa normalmente en todo tu sitio ya que si quieres usar variables de session las vas a querer usar en casi todas las paginas que crees, si no para que quieres crearlas si no es para usarlas ?

Si vas a usar pocas variables o información de los usuarios solo usa cookies, te simplifica el trabajo.
  #4 (permalink)  
Antiguo 15/02/2013, 06:33
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: duda sencilla php

dashtrash y aguchoca, muchas gracias por su interes en ayudarme;

en cuanto a la respuesta de dashtrash:

gracias por tu explicación, tengo claro que php es lenguaje de servidor y html de browser, a lo que me refiero es que mi aplicación la quiero hacer bien estructurada (mvc) y cuanod hablo de php es un archivo .php que sólo quiero que tenga código escrito en lenguaje php (porque voy a manejar clases y objetos), por tal motivo cuando genere la salida en html, lo que quiero es tener un fichero html que sea llamado por el fichero php pero que a su vez, ese fichero php (clase en POO) le envie los datos de salida para que sean mostrados al usuario en su browser. ¿con que función o de que manera puedo hacerlo (osea hay algun homologo de post y get pero que vaya en sentido contrario)?


en cuanto a la respuesta de aguchoca:

muchas gracias por tu recomendación, pero requiero usar sesiones porque voy a usar logueo y que se presenten diferentes opciones o la información almacenada en mi aplicación por cada usuario, y me refiero a no usar session_start() en un caso como el siguiente:

desde una pagina html se hace un llamado a un archivo php que en realidad es una clase la cual tiene la función session_start()

en ese archivo php se crea un objeto de una clase X para pasarle alguna variable de sesión y que ese objeto de la clase X retorne un resultado, que a su vez será retornado por la primer clase (osea la que tiene la función session_start() ) al usuario.

en ese caso, ¿la clase X no tendría necesidad ejecutar a su inicio la función session_start() ?

muchas gracias de nuevo por su colaboración
__________________
http://tecnologiaco.com/
  #5 (permalink)  
Antiguo 15/02/2013, 06:47
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: duda sencilla php

1 -Si utilizas un mvc solo bastaría con tener en tu controlador el arreglo, para luego recorrerlo en la view...

No entiendo que función necesitas para eso :/

2 - "en ese archivo php se crea un objeto de una clase X para pasarle alguna variable de sesión"

Un detalle importante, si quieres utilizar objetos en sesion, necesitas declarar las clases antes del session start.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 15/02/2013, 06:49
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: duda sencilla php

Cita:
Iniciado por andresbetancourt Ver Mensaje
da lo que me refiero es que mi aplicación la quiero hacer bien estructurada (mvc) y cuanod hablo de php es un archivo .php que sólo quiero que tenga código escrito en lenguaje php (porque voy a manejar clases y objetos), por tal motivo cuando genere la salida en html, lo que quiero es tener un fichero html que sea llamado por el fichero php pero que a su vez, ese fichero php (clase en POO) le envie los datos de salida para que sean mostrados al usuario en su browser.
Bueno..Supongo que en algún lado has leído que una aplicación "bien estructurada" es que es "MVC" y que "no mezcla" código PHP con código HTML.
A que sería maravilloso que con esas dos cosas ya tuviéramos una "aplicación bien estructurada"?
Como ya se discutió en algún thread anterior, este tipo de reduccionismo, es *fatal* para que la gente aprenda...Pero en fin, mejor..Más trabajo para mí
Bueno, la respuesta a tu pregunta concreta es:
- Los "frameworks MVC", (o que se "proclaman" MVC), para cumplir con el santo principio de no mezclar PHP con HTML (?), se inventan otro lenguaje (lenguaje de plantillas, véase Smarty), que, por algún extraño motivo, SI tiene permitido existir mezclado con HTML.Este "lenguaje" (que puede estar basado en simples str_replace, preg_replace, o un LALR), tiene acceso a las variables PHP, e inserta su valor en la salida HTML.


Cita:
Iniciado por andresbetancourt Ver Mensaje
¿con que función o de que manera puedo hacerlo (osea hay algun homologo de post y get pero que vaya en sentido contrario)?
Un homólogo de post y get que fuera en sentido contrario, sería algo así como Apache llamando a un navegador.Sería que el protocolo HTTP fuera bidireccional.
No tiene nada que ver con "cómo paso variables de un php a un html".
  #7 (permalink)  
Antiguo 15/02/2013, 20:35
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 10 meses
Puntos: 2
Pregunta Respuesta: duda sencilla php

buenas noches,

muchas gracias a todos por su interes en ayudarme

tal vez no fui muy claro, voy a tratar de explicarme mejor:

1. no estoy usando framework, de hecho por ser nuevo en php lo estoy aprendiendo puro y lo de MVC es que yo pienso tener: archivos de solo vista, archivos de controlador y archivos del modelo.

2. lo que quiero saber en si es: ¿cómo hago para enviar datos de un archivo .php a un .html, sin tener que tener el php unido con html?

3. en cuanto a la función session_start() quiero saber, es necesario llamarla en todas los archivos de mi aplicación (osea desde la primer pagina html de logueo hasta el ultimo archivo php en donde finalice la sesión el usuario) o puedo pasar las variables de sesión como parametros de una función por medio de un objeto cuya clase no tenga la función session_start() ?

ojalá me puedan despejar esas dudas, GRACIAS :)
__________________
http://tecnologiaco.com/
  #8 (permalink)  
Antiguo 15/02/2013, 21:24
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: duda sencilla php

Lo 1 y lo 2 ya se ha respondido.
Lo 3 : las variables de sesión se almacenan en una variable que PHP llama superglobal.Tienes acceso a ella desde cualquier ámbito, sin necesidad de previamente especificarlo (con el keyword "global").
  #9 (permalink)  
Antiguo 16/02/2013, 12:41
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: duda sencilla php

dashtrash

gracias por tu respuesta

pero ya quede más perdido, entonces voy a tener que cambiar la pregunta, si no tengo que estar llamando la funcion de inicio de sesión en todas las paginas porque en los manuales dice que tengo que hacerlo porque sino pierdo la sesión

es que la verdad no se cuando debo y cuando no debo poner esa funcion al inicio de mis archivos


en cuanto a la pregunta 1 y 2, quiere decir que siempre debo tener php dentro del archivo html que quiero mostrar al usuario como respuesta, siempre que ese html va devolver datos del modelo????

gracias
__________________
http://tecnologiaco.com/
  #10 (permalink)  
Antiguo 16/02/2013, 13:52
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: duda sencilla php

Cita:
Iniciado por andresbetancourt Ver Mensaje
dashtrash

gracias por tu respuesta

pero ya quede más perdido, entonces voy a tener que cambiar la pregunta, si no tengo que estar llamando la funcion de inicio de sesión en todas las paginas porque en los manuales dice que tengo que hacerlo porque sino pierdo la sesión
Donde dice eso?


Cita:
Iniciado por andresbetancourt Ver Mensaje
en cuanto a la pregunta 1 y 2, quiere decir que siempre debo tener php dentro del archivo html que quiero mostrar al usuario como respuesta, siempre que ese html va devolver datos del modelo????
gracias
Lo que quiere decir es que html no es un lenguaje del lado del servidor.No tiene ni variables, ni "datos".Algún tipo de lenguaje tendrá que incluir esas variables o datos en el html.
Precisamente para eso se crearon lenguajes como PHP.

Últimamente, se hace la supersimplificación de que "no debe haber código php dentro de html, o viceversa".
Así que, para asegurarse de ello, se crean sistemas de plantillas que definen un lenguaje propio.
Pero lo que no tiene que haber dentro del html, es código PHP que no sea de vista, o, dicho de otra forma, código php que no esté directamente relacionado con la generación de html (o json, o xml, o lo que sea la vista en cada momento).

Como esto es más complicado de interpretar, que simplemente decir : "no uses php en html, usa smarty", acabas pensando que es algo impensable meter php en html (o al revés).Bueno, tú quédate tranquilo..mete en el html el php que necesites, pero *sólo* el que necesites.
Y si eso te lía...usa smarty.
  #11 (permalink)  
Antiguo 16/02/2013, 14:02
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: duda sencilla php

gracias por la información a todos

ya he quedo un poco más claro
__________________
http://tecnologiaco.com/

Etiquetas: formulario, html, sencilla, tabla, variables
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 18:23.