2011-11-19 34 views
7

Estoy haciendo una pequeña tarea en la que estamos haciendo un CMS muy rudimentario. Tenemos que completar un formulario que contenga título, cuerpo y enlace permanente. El CMS luego toma el enlace permanente y lo agrega a la barra de navegación principal. Cuando se hace clic en ese vínculo permanente en la barra de navegación, se mostrarán el título, el contenido, la fecha de creación y la fecha de modificación. Tengo estas cosas en funcionamiento, el único problema es que cuando hago clic en el enlace de navegación, tengo estos errores:Error de PHP - Constante DB_HOST ya definido?

Aviso: Constante DB_HOST ya definido en C: \ Archivos de programa \ xampp \ htdocs \ php \ assignment_6 \ config .php en la línea 2

Aviso: DB_USER constante ya definida en C: \ archivos de programa \ xampp \ htdocs \ php \ assignment_6 \ config.php en la línea 3

Aviso: DB_PASS constante ya definida en C: \ Archivos de programa \ xampp \ htdocs \ php \ assignment_6 \ config.php en la línea 4

Aviso: Constante DB_NAME ya definido en C : \ Archivos de programa \ xampp \ htdocs \ php \ assignment_6 \ config.php en la línea 5

Tengo un archivo config.php que utilizo para establecer una conexión DB:

<?php 
    define('DB_HOST','******'); 
    define('DB_USER','******'); 
    define('DB_PASS','******'); 
    define('DB_NAME','******'); 

    $cms_db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 

     if(!$cms_db){ 
      echo"Could not connect: ".mysql_error(); 
    } 
?> 

Este es el código de mi archivo que llama al archivo config.php que está causando el error:

<?php 
    require('config.php'); 
    $perm = $_GET['p']; 
    $query = "SELECT * FROM cms WHERE permalink = '$perm'"; 
    $result = $cms_db->query($query); 
    $row = $result->fetch_assoc(); 
    $page_title = $perm; 
    require('header.php'); 
?> 
<h1><?=$row['title'];?></h1> 
<hr/><br/> 
<p class="para"><?=$row['content']?></p> 

<?php require('footer.php');?> 

una pequeña cantidad de código simple, pero ¿cuál es el problema? No es un error fatal, pero hombre, ¿es molesto?

+0

¿Podría verificar si hay más de una instancia del comando: 'require ('config.php');'? – Nonym

Respuesta

12

Probablemente esté incluyendo config.php varias veces. Verifica todos tus guiones y encuentra esta duplicidad. Puede usar require_once() en lugar de require() para evitar esto.

+0

Gracioso, pensé que ese podría ser el problema, así que busqué en Google y encontré el require_once. Lo intenté y tuve el mismo problema. Lo intentare otra vez. –

1

¿Algun header.php o footer.php incluyen config.php?

Si es así, ese es su problema.

+0

Sí, el pie de página lo hace, así que utilicé require_once, inútilmente. Lo intentaré de nuevo, porque probablemente solo creo que lo hice ... –

+0

Maldita sea, olvidé una. Ustedes => ganan. Apesta cuando encuentras la respuesta, la implementas incorrectamente y luego pides ayuda solo para descubrir que estás en el camino correcto en primer lugar. Muchas gracias. Lo siento, solo puedo elegir uno como marca de verificación. –

+0

Sé que esto es viejo, pero su pregunta me llevó por el buen camino. Gracias por preguntar esto. +1. :-) – IRGeekSauce

Cuestiones relacionadas