Rotador de Banner Aleatorio, ¿Me ayuda?
El primer Archivo que tengo es este... Al que llame random.php
En este archivo el usuario, contraseña y base de datos funcionan excelentemente bien... Este primer Archivo se encarga de mostrarme el banner aleatorio ubicado en la base de datos creada.
Este archivo funciona bien.
<?php
// Conecta con el servidor mysql
$link = mysql_connect('localhost', 'USUARIOBASEDEDATOS', 'CONTRASEÑA');
if(!$link) {
// Si no conecta, muestra un error y termina la ejecucion
die('No se pudo conectar con la base de datos:' . Mysql_error());
}
// Selecciona la base de datos que contiene la tabla banner
if(!mysql_select_db('NOMBREDELABASEDEDAT... $link))
{
// Si no se puede seleccionar muestra error y termina ejecucion
die('Error seleccionando base de datos: ' . Mysql_error());
}
// Toma un banner aleatorio de la base de datos
$sql = "SELECT banner_id, nombre, url, url_imagen FROM banner ORDER BY RAND() LIMIT 1";
$res = mysql_query($sql);
list($banner_id, $nombre, $url, $url_imagen) = mysql_fetch_array($res);
// Muestra el banner
echo "<a href=\"cuenta.php?banner_id=".$banner_id...
echo "<img src=\"".$url_imagen."\" width=\"1145\" height=\"220\" ";
echo "border=\"0\" alt=\"".$nombre."\"></a>\n";
// Actualiza la cantidad de impresiones del banner
$sql = "UPDATE banner SET impresiones=impresiones+1 WHERE banner_id=".$banner_id." LIMIT 1";
mysql_query($sql);
?>
Mi segundo archivo es este: al que llame cuenta.php
Este archivo se encarga de contar cuantos clics le han dado a cada banenr aleatorio que ha sido mostrado en el anterior archivo (random.php)
Aqui es donde surge el problema...
El codigo es el siguiente:
<?php
// Conecta con el servidor mysql
$link = mysql_connect('localhost', 'USUARIO', 'CONTRASEÑA');
if(!$link) {
// Si no conecta, muestra un error y termina la ejecucion
die('No se pudo conectar con la base de datos:' . Mysql_error());
}
// Selecciona la base de datos que contiene la tabla banner
if(!mysql_select_db('BASEDEDATOS', $link))
{
// Si no se puede seleccionar muestra error y termina ejecucion
die('Error seleccionando base de datos: ' . Mysql_error());
}
// Revisa si se paso el parametro correcto
if(!isset(tiny_mce_markerGET['banner_id']) || !eregi('^[0-9]+, tiny_mce_markerGET['banner_id']))
{
die('Ha seguido un enlace incorrecto');
}
$banner_id = tiny_mce_markerGET['banner_id'];
$sql = "SELECT url FROM banner WHERE banner_id=" . $banner_id;
$res = mysql_query($sql);
if(mysql_num_rows($res) == 0)
{
// Si el banner no existe muestra el error y termina ejecucion
die('Este banner no existe');
}
else
{
list($url) = mysql_fetch_array($res);
// Actualiza la cantidad de clics
$sql = "UPDATE banner SET clics=clics+1 WHERE banner_id=".$banner_id." LIMIT 1";
mysql_query($sql);
// Redirecciona el navegador
header('Location: ' . $url);
die();
}
?>
YA CASI EN LA PARTE FINAL DEL ARCHIVO "CUENTA.PHP" Se supone que me debe de redireccionar a la dirección URL que tiene asignado el banner en la base de datos... Pero No lo hace.
Me muestra lo siguiente:
"Warning: Cannot modify header information - headers already sent by (output started at /home/diosconn/public_html/cuenta.php:11... In /home/diosconn/public_html/cuenta.php on line 54"
Pero aun no puedo saber porque me hace esto... No se muy bien acerca de PHP, he intentado cambiarle pero nomas no sale...
Si me ayudan a corregir el archivo "CUENTA.PHP" se los agradecería mucho.
Dios les Bendiga y espero sus respuestas.
Gracias
Nota: Aclaro que el usuario y la contraseña, también las bases de datos están bien escritos... El único error que me sale es el que les mencione.
mi correo es: [email protected]
En este archivo el usuario, contraseña y base de datos funcionan excelentemente bien... Este primer Archivo se encarga de mostrarme el banner aleatorio ubicado en la base de datos creada.
Este archivo funciona bien.
<?php
// Conecta con el servidor mysql
$link = mysql_connect('localhost', 'USUARIOBASEDEDATOS', 'CONTRASEÑA');
if(!$link) {
// Si no conecta, muestra un error y termina la ejecucion
die('No se pudo conectar con la base de datos:' . Mysql_error());
}
// Selecciona la base de datos que contiene la tabla banner
if(!mysql_select_db('NOMBREDELABASEDEDAT... $link))
{
// Si no se puede seleccionar muestra error y termina ejecucion
die('Error seleccionando base de datos: ' . Mysql_error());
}
// Toma un banner aleatorio de la base de datos
$sql = "SELECT banner_id, nombre, url, url_imagen FROM banner ORDER BY RAND() LIMIT 1";
$res = mysql_query($sql);
list($banner_id, $nombre, $url, $url_imagen) = mysql_fetch_array($res);
// Muestra el banner
echo "<a href=\"cuenta.php?banner_id=".$banner_id...
echo "<img src=\"".$url_imagen."\" width=\"1145\" height=\"220\" ";
echo "border=\"0\" alt=\"".$nombre."\"></a>\n";
// Actualiza la cantidad de impresiones del banner
$sql = "UPDATE banner SET impresiones=impresiones+1 WHERE banner_id=".$banner_id." LIMIT 1";
mysql_query($sql);
?>
Mi segundo archivo es este: al que llame cuenta.php
Este archivo se encarga de contar cuantos clics le han dado a cada banenr aleatorio que ha sido mostrado en el anterior archivo (random.php)
Aqui es donde surge el problema...
El codigo es el siguiente:
<?php
// Conecta con el servidor mysql
$link = mysql_connect('localhost', 'USUARIO', 'CONTRASEÑA');
if(!$link) {
// Si no conecta, muestra un error y termina la ejecucion
die('No se pudo conectar con la base de datos:' . Mysql_error());
}
// Selecciona la base de datos que contiene la tabla banner
if(!mysql_select_db('BASEDEDATOS', $link))
{
// Si no se puede seleccionar muestra error y termina ejecucion
die('Error seleccionando base de datos: ' . Mysql_error());
}
// Revisa si se paso el parametro correcto
if(!isset(tiny_mce_markerGET['banner_id']) || !eregi('^[0-9]+, tiny_mce_markerGET['banner_id']))
{
die('Ha seguido un enlace incorrecto');
}
$banner_id = tiny_mce_markerGET['banner_id'];
$sql = "SELECT url FROM banner WHERE banner_id=" . $banner_id;
$res = mysql_query($sql);
if(mysql_num_rows($res) == 0)
{
// Si el banner no existe muestra el error y termina ejecucion
die('Este banner no existe');
}
else
{
list($url) = mysql_fetch_array($res);
// Actualiza la cantidad de clics
$sql = "UPDATE banner SET clics=clics+1 WHERE banner_id=".$banner_id." LIMIT 1";
mysql_query($sql);
// Redirecciona el navegador
header('Location: ' . $url);
die();
}
?>
YA CASI EN LA PARTE FINAL DEL ARCHIVO "CUENTA.PHP" Se supone que me debe de redireccionar a la dirección URL que tiene asignado el banner en la base de datos... Pero No lo hace.
Me muestra lo siguiente:
"Warning: Cannot modify header information - headers already sent by (output started at /home/diosconn/public_html/cuenta.php:11... In /home/diosconn/public_html/cuenta.php on line 54"
Pero aun no puedo saber porque me hace esto... No se muy bien acerca de PHP, he intentado cambiarle pero nomas no sale...
Si me ayudan a corregir el archivo "CUENTA.PHP" se los agradecería mucho.
Dios les Bendiga y espero sus respuestas.
Gracias
Nota: Aclaro que el usuario y la contraseña, también las bases de datos están bien escritos... El único error que me sale es el que les mencione.
mi correo es: [email protected]
2 Respuestas
Respuesta de davidcortesb
1
Respuesta de apolinux
1