Programacion PHP

K

Bien, no tengo ni idea de php, me he leido algun manual y he buscado en webs pero nose como hacerlo.

El caso es ue tengo una web tipo frameset pero sin frames. A ver si se me entiende: Una pagina la cual tiene un par de tablas (una a la derecha y una a la izquierda) que son los menus principales, y una tabla grande al medio que es donde se trabaja y se ve e contenido web.

Quiero que cuando se apriete el link del menu correspondiente se actualize la pagina, pero solo en la tabla del medio. Lo he visto en otras webs, y me parece que se tiene que crear una base y a partir de aqui programar los links pero nose como hacerlo. Alguna opinion?

También me gustaria que alguien me explicase como crear una sesion de usario (login) para poder recuperar datos y trabajar con ellos segun el usuario que sea.

Gracias de antemano

RedHat

www.php-hispano.net

tutoriales varios entre ellos los dos que pides (secciones i login)

aun asi te recomiendo hacer un MAIN y hacer includes pero bueno pa gustos colores

ItNaS

<a href="link" target="nombremarcointerior">Hola
</a>

Whose

Si quieres que solo se recargue la parte central tendras que recurrir a iframes, javascript u otra cosa, con PHP no, con PHP lo que puedes hacer es cargar en el mismo archivo (index.php por ejemplo) varias paginas, pero se recarga la pagina entera
http://es.php.net/switch

uNbiG

switch($caso) {
default:
echo "defaul";
break;
case "hola":
echo "hola";
break;
}

link index.php?caso=hola y sale en pantalla hola
;>>>

erdanblo

:: Ampliando a unbig

Cambia echo "hola"; por include "pagina.php"; y tendrás lo que quieres ^.

#7 Ma burro, me voy a estudiar (jé)

uNbiG

joaejoaeoj siempre erdanblo ahi ahi xdddddddd

K

muchas gracias a todos, a ver si lo consigo. ;)

Atoll

AJAX!

Maxtor

en lenguaje php no se nada...pero python o c lo que kerais xDDDDDD

#include <stdio.h>
int main(void){
printf ("Chao MunDo \n");
return 0;
}

un saludo a todo el mundo :D

P.D.: Me aburria y lei este post y me apetecia contestar xD

erdanblo

Ajax dice... buffff, pero si no tiene ni idea, ni yo, me hago un lio con el ajax de los cojones.

guner

¿Eso no es un detergente?
Encuentro -1000 del tema.
: /

g0 wikipedia

erdanblo

http://es.wikipedia.org/wiki/AJAX
http://icebeat.bitacoras.com/categoria/AJAX/

Espero que te sirva ^^

IS4kO

Para los interesados en AJAX, aqui dejo un link sobre un tutorial muy bueno para integrarlo con asp.net

http://www.scourdesign.com/articulos/tutoriales/net/6.php

SeiYa

Donde este mi querido y amado pé hache pé que se quite lo demas.

guner

Bueno, visto que básicamente es JS... ¿Qué hay de navegadores que no tienen soporte para tal cosa? - ¿Web inaccesible?.

Mi no entiende : |

J

yo te recomiendo la de www.php,net (si mal no recuerdo esta en español). En esta web tiens un monton de funciones de PHP y además tienes ejemplos de como usarla. Yo hice el proyecto de clase en PHP y esa pagina me ayudó bastante. Mucha suerte.

K

Bien ahora tengo un grave problema que me impide avanzar con las sesiones y es que no hay forma de que me haga una cookie:

Este es el codigo:

<?
include ("config.php");
if (isset($POST['login']))
{
if (!$
POST['nombre'] | !$POST['pass'])
{
//quito esto de momento porque dicen que no puede haber echos antes de la setcookie
}
else
{
$usr = "SELECT * FROM usuarios WHERE nombre_usuario = '".$
POST['nombre']."'";
$resultado = mysql_db_query ($dbnom, $usr);
$usuar = mysql_fetch_array ($resultado);
$POST['pass'] = md5($POST['pass']);
if ($POST['pass']==$usuar[contraseña])
{
setcookie("champ",$
POST['nombre'],time()+3600);
}
else
{
echo "Usuario o contraseña incorrectos";
}
}
}
?>

El error dice:

Warning: Cannot modify header information - headers already sent by (output started at C:\Servidor\WEB\config.php:9) in C:\Servidor\WEB\conex.php on line 17

¿Alguien sabe el motivo del problema?

guner

Te arreglo un poco el código y te comento el problema.

<?php

include 'config.php';
// asegúrate de que en config.php no hay echos ni nada que pueda producir salida.

if (isset ($POST['login']))
{
&nbsp;&nbsp;&nbsp;&nbsp;if (!isset ($
POST['nombre'], $POST['pass']) || empty ($POST['pass']) || empty ($POST['pass'])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//quito esto de momento porque dicen que no puede haber echos antes de la setcookie
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Pues el error que te da es por eso !
!
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$usr = "SELECT * FROM usuarios WHERE nombre_usuario = '{$POST['nombre']}'";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$resultado = mysql_db_query ($dbnom, $usr);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$usuar = mysql_fetch_array ($resultado);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$
POST['pass'] = md5($POST['pass']);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($
POST['pass'] == $usuar['contraseña'])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setcookie('champ', $_POST['nombre'], time() + 3600);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'Usuario o contraseña incorrectos';
&nbsp;&nbsp;&nbsp;&nbsp;}
}
?>

El problema de headers sent es curioso que te salga, porque tienes en una línea comentada que dice que no puedes hacer hechos antes de setcookie.
Hacer echo es igual que ésto.

<?php
//blah blah
?>
esto es como hacer echo
<?php
//blah
?>

En cuanto el servidor web envia un solo byte al cliente, envia también las cabaeceras HTTP, y se hace imposible mandarlas después, y con las cookies lo mismo.

Apostaría a que has metido un salto de línea o un espacio fuera de los tags de php y por eso te sale.

A mí me pasaba mucho al cerrar el tag ?>, el editor, me metía un salto de línea, así que opté por no cerrar los tags en los archivos incluidos.

En cuanto al código, un par de cosas.
Al hacer !$variable supongo que es para comprobar si no está declarada o si está vacía. Mira por que lo he cambiado.
Y usas un operador | en vez de OR comparativo ||.

Espero que haya sido de ayuda.

K

Muchas gracias guner, ya funciona! ;)

guner

Dime que era un salto de línea indeseado fuera de los tags de php, estoy deseando leerlo : D. Es tan típico _.

Usuarios habituales