Foros del Web » Programando para Internet » PHP »

funciona en locahost pero no en servidor

Estas en el tema de funciona en locahost pero no en servidor en el foro de PHP en Foros del Web. antes que nada: tal vez ese post iria para EDITORES WEB, pero nadie me responde.Quiza no sea interesante mi tema, pero a mi me quema. ...
  #1 (permalink)  
Antiguo 25/03/2005, 17:48
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
funciona en locahost pero no en servidor

antes que nada: tal vez ese post iria para EDITORES WEB, pero nadie me responde.Quiza no sea interesante mi tema, pero a mi me quema.
Mi problema es el siguiente: estoy aprendiendo a travez de un curso ( www.dominadreamwever.com) a hacer algunos trabajos con bases de datos. En el localhost me funciona muy bien pero al subir todo al servidor, no ocurre lo mismo. El 1er problema es que el archivo 'Connection_php_mysql.htm' que en mi local host es:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_basedaosq = "localhost";
$database_basedaosq = "om";
$username_basedaosq = "root";
$password_basedaosq = "";
$basedaosq = mysql_pconnect($hostname_basedaosq, $username_basedaosq, $password_basedaosq) or trigger_error(mysql_error(),E_USER_ERROR);
?>
no me funciona y tira errores varios al hacer un enlace en la pagina www.alberici.com.ar/index.php en el link http://www.alberici.com.ar/conectarareceptoria.php, que si lao quereis probar esa abajo a la derecha. (ten en cuenta de tipear el index.php ya que en el emismo sitio hay una version html que entra por defecto y no podras encontrar el problema.

Luego he dilucidado (tal vez me han dicho, ya estoy mareado) que debo cambiar 'mysql_pconnect' por mysql_connect' y esto me ha hecho visualizar los campos de user y contraseña, pero de todos modos no enlaza al completar los campos.
Mas tarde he cambiado a:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_dbinternet = "alberici.com.ar";
$database_dbinternet = "cs000222_om";
$username_dbinternet = "cs000222_pepe";
$password_dbinternet = "2944";
$dbinternet = mysql_connect($hostname_dbinternet, $username_dbinternet, $password_dbinternet) or trigger_error(mysql_error(),E_USER_ERROR);
?>


pero finalmenta tampoco funciona. En verdad he perdido (quizas ganado..) muchisimo tiempo.
os agradeceria alguna respuesta.
GRACIAS
  #2 (permalink)  
Antiguo 25/03/2005, 18:05
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/cs000222/public_html/Connections/basedaosq.php:13) in /home/cs000222/public_html/conectarareceptoria.php on line 3

Esto quiere decir que estas mandando cabeceras despues de haber mandado contenido al browser.
En este caso estas usando session_start() despues de alguna acción como la que acabo de decirte. Trata de poner session_start al inicio de la pagina, y que no haya ningun espacio o linea antes de abrir el <? inicial.
Lo mismo en el que cierra ?>.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 25/03/2005, 18:11
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
En realidad no se cuantos errores tienes, pero por ahora iremos de a uno, en primer lugar "El 1er problema es que el archivo 'Connection_php_mysql.htm'", debes ponerle como extensión .php en lugar de .htm, sino el servidor no leera el script (en este caso la conexión a la DB), además debes el poner:
Código PHP:
$hostname_dbinternet "alberici.com.ar"//en el 98% de los server es localhost averigualo!!
$database_dbinternet "cs000222_om"//el nombre de tu base de datos
$username_dbinternet "cs000222_pepe";//tu nombre de usuario
$password_dbinternet "2944";// tu contraseña 
Fui al sitio http://www.alberici.com.ar/conectarareceptoria.php y los errores q tira estan relacionados con la sessiones y las cookies. El error más común es q el script envíe algun dato antes del header (solo un espacio en blanco basta), puedes fijarte q pasa ahí, muestranos q otros errores hay, debes tener en cuenta q Dreamweaver, cuando defines un sitio como localhost, le pone a los links eso (por ej.: http://localhost/miscript.php) en lugar del nombre de tu sitio q esta en el servidor.
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #4 (permalink)  
Antiguo 25/03/2005, 20:53
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
primero gracias a los dos...siguen los problemas

bueno resulta que me importa mas (hoy por hoy) realizar la coneccion con la base de datos, por lo tanto he borrado toda referencia a las sessions, ya tendre tiempo en algunos dias mas de dedicarle el que le corresponda, de este modo sera menos trabajo para todos.
Averigue en el servidor y efectivamente es LOCALHOST, ( esto es lo que me devolvio la consulta que hice (y juro que es mucho, son muy ratones, :Le informo que lo conveniente es colocar en un archivo los datos para acceder a la base de datos y luego realizar la inclucion de ese archivo en otro desde donde vaya a requerir conectarse, los datos a incluir en el archivo serian:

<?php
$dbms = 'mysql4';
$dbhost = 'localhost';
$dbname = 'cs000222_om';
$dbuser = 'cs000222_pepe'; #suponiendo que creo este user en dpanel
$dbpasswd = '2944'; #suponiendo que creo el user con este pass
?>
de modo que lo hice ( tal cual al mismo tiempo me respondistes vos)
Ahora la pagina me devuelve " NO DATABASE SELECT"

mas gracias
  #5 (permalink)  
Antiguo 26/03/2005, 07:50
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Estas seleccionando una db? Si no es asi,lo haces con mysql_select_db(); . Si ya lo estas haciendo, seguramente tengas mal puesto el nombre de tu base.

Referencia:http://ar2.php.net/manual/es/functio...-select-db.php
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 26/03/2005, 16:25
 
Fecha de Ingreso: marzo-2005
Ubicación: cd. victoria, tamps, mexico
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
No te preocupes, es muy facil, solo observa... te voy a poner un ejemplo muy sencillo con el cual entenderas todo en cuanto a conexion con mysql.

conexion.php
Código PHP:

/* Primero que nada defino variables, de mi servidor, en el ejemplo este
se llama localhost, usuario, en mi ejemplo ricardo y clave... 090889, OK..

Hasta ahi todo va bien, ahora la variable $base, es el nombre de tu base
de datos en mi caso "incubus" <... es solo un ejemplo
*/
$servidor "localhost";
$usuario "ricardo";
$clave "090889";
$base "incubus";

/*
Ok, todo bien... ahora ¿como lo conecto? simple!! llamo a mysql_connect
y pongo....     

$conexion = mysql_connect($servidor,$usuario,$clave);

Y asi me ahorro poner...

$conexion = mysql_connect("localhost","ricardo","090889");

Asi cada vez que quiera conectarme con otros DATOS... pues solo cambio las variables de arriba

Bien, ya hicimos la conexion, ahora seleccionemos la base de datos... ¿como?

Ponemos

mysql_select_db($base);

Es decir, estamos diciendole que seleccione la base de datos que tenemos en la variable $base, muy simple no??
*/
$conexion mysql_connect($servidor,$usuario,$clave);
mysql_select_db($base);

/*
Y con eso hemos concluido, nos hemos conectado !!!  :-) 
*/ 

Ahora, en vez de que pongas esta conexion en todas las paginas que vallas a utilizar SQL, pues, tan solo haz lo siguiente, como tu pagina anterior del ejemplo sellama "conexion.php" pues, en todas las paginas que ocupes la conexion, mero arriba de tu pagina, pones lo siguiente....

Código PHP:
include("conexion.php"); 
Con esto, le decimos a la pagina, que queremos incluir el archivo... "conexion.php" que contiene la conexion de mysql y asi te ahorras estar haciendo la conexion en distintas paginas cada vez que desees seleccionar algo de tus tablas.... FACIL y SIMPLE... eso es todo, si tienes dudas.. postea...
  #7 (permalink)  
Antiguo 26/03/2005, 18:58
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
ricardo, debo decir que cuando vi con la claridad que me explicaste estuve seguro que esta vez no iba a fallar.
En fin, no me cabe dudas de que a pesar de haberlo probado 3 o cuatro veces al pie del renglon, algo hice mal, pero no encuentro el error.

visualiso la pagina con todos estos errores:
Warning: main(mysql4.php): failed to open stream: No such file or directory in /home/cs000222/public_html/conecta.php on line 1

Warning: main(mysql4.php): failed to open stream: No such file or directory in /home/cs000222/public_html/conecta.php on line 1

Warning: main(mysql4.php): failed to open stream: No such file or directory in /home/cs000222/public_html/conecta.php on line 1

Warning: main(): Failed opening 'mysql4.php' for inclusion (include_path='.:/opt/apache/lib/php') in /home/cs000222/public_html/conecta.php on line 1

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/cs000222/public_html/conecta.php:1) in /home/cs000222/public_html/conecta.php on line 5

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/cs000222/public_html/conecta.php:1) in /home/cs000222/public_html/conecta.php on line 5

y me devuelve a la misma pagina con todos estos errores:
Warning: main(mysql4.php): failed to open stream: No such file or directory in /home/cs000222/public_html/conecta.php on line 1

Warning: main(mysql4.php): failed to open stream: No such file or directory in /home/cs000222/public_html/conecta.php on line 1

Warning: main(mysql4.php): failed to open stream: No such file or directory in /home/cs000222/public_html/conecta.php on line 1

Warning: main(): Failed opening 'mysql4.php' for inclusion (include_path='.:/opt/apache/lib/php') in /home/cs000222/public_html/conecta.php on line 1

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/cs000222/public_html/conecta.php:1) in /home/cs000222/public_html/conecta.php on line 5

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/cs000222/public_html/conecta.php:1) in /home/cs000222/public_html/conecta.php on line 5

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/cs000222/public_html/conecta.php on line 20

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/cs000222/public_html/conecta.php on line 25


Este error en la linea 1 me sale cuando cambio la linea <?php require_once('Connections/dbinternet.php'); ?> por lo que tiene actualmente =include("conexion.php");

te agradeceria que no me sueltes la mano ya que has sido muy didactico.
  #8 (permalink)  
Antiguo 26/03/2005, 19:45
 
Fecha de Ingreso: marzo-2005
Ubicación: cd. victoria, tamps, mexico
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
Creo que se cual es tu error, la conexion si funciono, pero... el archivo de conexion.php debe ir en la misma carpeta en donde incluyas el archivo.... mira te lo voy a poner mas claro...


Supon que tus archivos se encuentran en la carpeta digamos...

archivos/paginas/juan

Y supongamos que el archivo conexion.php esta en la carpeta

archivos/paginas

Entonces, obviamente va marcar error.... ¿porque? pues por el simple hecho de que como el archivo conexion.php no se encuentra en la misma carpeta de donde lo llamaste, supongamos que el include("conexion.php") lo pusiste en....

archivos/paginas/juan/index.php

Entonces, por obvio conexion.php debe de ir en la carpeta

archivos/paginas/juan

Ya que si conexion.php va en una carpeta anterior o posterior a donde lo estas llamando te va marcar esos errores, que significan que el archivo no se encuentra en la carpeta...

Recuerda.... que cuando incluyas un archivo, trata siempre de que este en la misma carpeta o llamalo bien, por ejemplo....

Si conexion.php se encuentra en

archivos/paginas

Y las paginas donde incluyes la conexion.php se encuentran en

archivos/paginas/juan

Y supongamos que en la pagina index.php que se encuentra en la carpeta de juan pones ..... include("conexion.php"), pues obviamente te va marcar error... porque? pues... simplemente porke estas diciendo que "conexion.php" se encuentra en la carpeta de juan, y no es cierto se encuentra en una carpeta anterior.... ¿Que se puede hacer en estos casos?

2 cosas....

La 1a... puedes poner en la index.php en vez de poner ... include("conexion.php") pon..... include("../conexion.php")

Porque " ../ " ? ... eso significa que estamos retrosediendo una carpeta atras, osea le estas diciendo "Retrocede una carpeta y busca conexino.php, y entonces AJA!! no te va marcar error...

Y si son varias carpetaS? supongamos 2?.... Simple haces esto....

../../conexion.php

Y si son 3?

../../../conexion.php

Y asi sucesivamente

La 2da cosa que puedes hacer es copiar "conexion.php" a la carpeta de donde lo stas llamando en este ejemplo la carpeta juan...

Si sigues teniendo duda sigue postiando aqui estare para ayudarte
  #9 (permalink)  
Antiguo 26/03/2005, 20:15
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
bien estabas en lo cierto estaba un nivl mas arriba, pero ahora lo corregi y me indica errores de sesiones, cosa que ya me habia estado pasando ayer creo. en tal caso se pueden quitar las sesions, o son propias de un archivo de conexion?
  #10 (permalink)  
Antiguo 26/03/2005, 20:28
 
Fecha de Ingreso: marzo-2005
Ubicación: cd. victoria, tamps, mexico
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
Las sesiones son otra cosa distinta de las conexiones, las puedes quitar.. .tan solo identifica el archivo que las trai y borralas, o si vienen en los archivos solo borralas, ami tambien me fallan las sesiones en el localhost, quizas es el php, pero no te preocupes, las sesiones las puedes cambiar por cookies...

setcookie("nombredelacookie","valor",time()+3600);

En donde...


nombredelacookie:
Aqui va el nombre que le quieras dar... por ejemplo usuario

valor:
Aqui va el valor o la variable que quieras que almacene por ejemplo... raul, pedro, pancho, tambien pueden ser numeros, 34, 35, 65.... tambien pueden ser booleano... true o false, o pueden ser variables $casa, $perro, etc...

time()+3600
Aqui pones el tiempo que quieres que dure, en este caso 1 hora... porque?
pues porque 60 seg x 60 min = 3600 seg... puedes aumentarle o disminuirle dependiendo de cuanto quieres que dure...


SAludos
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:17.