Foros del Web » Programando para Internet » PHP »

Error en switch/case

Estas en el tema de Error en switch/case en el foro de PHP en Foros del Web. Veréis, tengo este código y me da el error: Fatal error: Cannot redeclare texte() (previously declared in /.../inctexteadmin.php:20) in /.../inctexteadmin.php on line 292 @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 17/09/2010, 01:36
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 3 meses
Puntos: 0
Error en switch/case

Veréis, tengo este código y me da el error:

Fatal error: Cannot redeclare texte() (previously declared in /.../inctexteadmin.php:20) in /.../inctexteadmin.php on line 292

Código PHP:
Ver original
  1. <?php
  2.  
  3.     function texte($idioma, $camp){
  4.  
  5.         switch (lcase($idioma)){
  6.  
  7.             case "cs":
  8.  
  9.                 switch (lcase($camp)){
  10.                    
  11.                
  12.                     case "txtdeshabilitat": texte == "Su cuenta ha sido deshabilitada. \nPara m�s informaci�n p�ngase en contacto con el administrador.";
  13.                     case "txttitle": texte == "Administraci�n Portal Asociaci�n Amigos de la �pera de Sabadell";
  14.                     case "seccions": texte == "Secciones";
  15.                     case "usuaris": texte == "Usuarios";
  16.                     case "associacio": texte == "La Asociaci�n";
  17.                     case "cor": texte == "El Coro";
  18.                     case "escola": texte == "La Escuela";
  19.                     case "obres": texte == "Obras";
  20.                     case "multimedia": texte == "Multimedia";
  21.                     case "noticies": texte == "Noticias";
  22.                     case "sortir": texte == "Salir";
  23.                     case "error": texte == "Informaci�n no encontrada";
  24.                     case "titsearch": texte == "Seleccione la opci�n que desee para configurar la p�gina de la secci�n";
  25.                     case "modtit": texte == "Modificar T�tulo";
  26.                     case "configpag": texte == "Configuraci�n de la p�gina";
  27.                     case "novapart": texte == "Nuevo P�rrafo";
  28.                     case "titalta": texte == "Rellene los campos necesarios para cumplimentar la informaci�n de la secci�n";
  29.                     case "titct": texte == "T�tulo en catal�n";
  30.                     case "titcs": texte == "T�tulo en castellano";
  31.                     case "titen": texte == "T�tulo en ingl�s";
  32.                     case "altainfo": texte == "Alta de Informaci�n";
  33.                     case "modiinfo": texte == "Modificaci�n de Informaci�n";
  34.                     case "eliminfo": texte == "Eliminaci�n de Informaci�n";
  35.                     case "txtct": texte == "Contenido en catal�n";
  36.                     case "txtcs": texte == "Contenido en castellano";
  37.                     case "txten": texte == "Contenido en ingl�s";
  38.                     case "contingut": texte == "Contenido";
  39.                     case "xmptxt": texte == ""  /*"&lt;b&gt;<strong> Negrita </strong>&lt;/b&gt;<br>&lt;i&gt;<i> Cursiva </i>&lt;/i&gt;<br>&lt;u&gt;<u> Subrayado </u>&lt;/u&gt;<br>&lt;br&gt; Salto de l�nea<br>"*/;
  40.                     case "introimg": texte == "Introducir Imagen";
  41.                     case "enviar": texte == "Enviar";
  42.                     case "dadesintro": texte == "Informaci�n Introducida Correctamente";
  43.                     case "dadesmodi": texte == "Informaci�n Modificada Correctamente";
  44.                     case "dadeselim": texte == "Informaci�n Eliminada Correctamente";
  45.                     case "modiimg": texte == "Modificar Imagen";
  46.                    
  47.                     case "errmassagran": texte == "Archivo demasiado grande";
  48.                     case "tamanymax": texte == "Tama�o m�ximo";
  49.                     case "tipusarxiu": texte == "Tipo archivo";
  50.                     case "noimg": texte == "No es una imagen.";
  51.                     case "nomarxiu": texte == "Nombre archivo";
  52.                     case "mides": texte == "Medidas";
  53.                     case "imgmassaample": texte == "Imagen demasiado ancha";
  54.                     case "ampladamax": texte == "Anchura m�xima";
  55.                     case "imgmassaalta": texte == "Imagen demasiado alta";
  56.                     case "alturamax": texte == "Altura m�xima";
  57.                     case "nomidiomact": texte == "Catal�n";
  58.                     case "nomidiomacs": texte == "Castellano";
  59.                     case "nomidiomaen": texte == "Ingl�s";
  60.                     case "afegirlinea": texte == "A�adir l�nea de separaci�n de p�rrafos?";
  61.                     case "imatge": texte == "Imagen";
  62.                     case "afegirimatges": texte == "A�adir im�genes";
  63.                     case "imatgei": texte == "Introducir nueva imagen:";
  64.                     case "imatgct": texte == "Imagen en catal�n:";
  65.                     case "imatgcs": texte == "Imagen en castellano:";
  66.                     case "imatgen": texte == "Imagen en ingl�s:";
  67.                     case "imatger": texte == "Resoluci�n predeterminada: 252 x 66";
  68.                     case "imatgect": texte == "Imagen en catal�n:";
  69.                     case "imatgecs": texte == "Imagen en castellano:";
  70.                     case "imatgeen": texte == "Imagen en ingl�s:";
  71.                     case "seleccionipereliminar": texte == "Seleccione las casillas para eliminar im�genes y pulse modificar.";
  72.                     case "esquerra": texte == "Izquierda";
  73.                     case "dreta": texte == "Derecha";
  74.                     case "dalt": texte == "Arriba";
  75.                    
  76.                     case "recordarcenter": texte == "Recuerde que si centra la imagen,\n el texto, en caso de haberlo,\ tambi�n se centrar�.";
  77.                     case "segurelim": texte == "Seguro que desea eliminar los datos?";
  78.                     case "usuari": texte == "Usuario";
  79.                     case "cerca": texte == "Buscar";
  80.                     case "searchtext1": texte == "Para ver, modificar o eliminar datos, rellene los campos y pulse Buscar.";
  81.                     case "seleccioni": texte == "Seleccione";
  82.                    
  83.                     case "txtalta": texte == "Rellene los campos necesarios para cumplimentar la informaci�n de la";
  84.                     case "txtalta2": texte == "Rellene los campos necesarios para cumplimentar la informaci�n del";
  85.                     case "txtalta3": texte == "Rellene los campos necesarios para cumplimentar la informaci�n del";
  86.                     case "codi": texte == "C�digo";
  87.                     case "password": texte == "Contrase�a";
  88.                     case "deshabilitat": texte == "Deshabilitado";
  89.                     case "permis": texte == "Permiso";
  90.                     case "idioma": texte == "Idioma";
  91.                     case "nif": texte == "Nif";
  92.                     case "cognoms": texte == "Apellidos";
  93.                     case "cognom1": texte == "Apellido1";
  94.                     case "cognom2": texte == "Apellido2";
  95.                     case "telefon": texte == "Tel�fono";
  96.                     case "fax": texte == "Fax";
  97.                     case "link": texte == "Link (http://)";
  98.                     case "empresa": texte == "Empresa";
  99.                     case "adreca": texte == "Direcci�n";
  100.                     case "codip": texte == "C�digo Postal";
  101.                     case "poblacio": texte == "Poblaci�n";
  102.                     case "pais": texte == "Pa�s";
  103.                     case "comentaris": texte == "Comentarios";
  104.                     case "comentari": texte == "Comentario";
  105.                     case "introduir": texte == "Introducir";
  106.                     case "errcodi": texte == "ERROR: Este c�digo de usuario ya existe.";
  107.                    
  108.                     case "info3ct": texte == "Associaci� Amics de l��pera de Sabadell";
  109.                     case "info4cs": texte == "Deseo_darme_de_baja_del_Newsletter";
  110.                     case "info4ct": texte == "Desitjo_donar-me_de_baixa_del_Newsletter";
  111.                     case "info5cs": texte == "Si no deseas recibir m�s nuestra Newsletter haz clic ";
  112.                     case "info5ct": texte == "Si no dessitges rebre m�s la nostre Newsletter clica ";
  113.                     case "info6cs": texte == "aqu�";
  114.                     case "info6ct": texte == "aqu�";
  115.                    
  116.                     case "info8ct": texte == "Publicitat:";
  117.                     case "enviatok": texte == "EMails enviados correctamente.";
  118.                     case "info9cs": texte == "<strong>Asociaci�n Amigos de la �pera de Sabadell</strong><br>Pla�a Sant Roc, 22 2on 1a . 08201 Sabadell . Barcelona . Espa�a<br>T. 93-725 67 34 i 93-726 46 17 . F. 93-727 53 21 . E. <a href==mailto:[email protected] [email protected] style==color:#7B695C>[email protected]</a> . W. <a [email protected] [email protected] target==_blank style==color:#7B695C>www.aaos.info</a>";
  119.                     case "info9ct": texte == "<strong>Associaci� d�Amics de l��pera de Sabadell</strong><br>Pla�a Sant Roc, 22 2on 1a . 08201 Sabadell . Barcelona . Espanya<br>T. 93-725 67 34 i 93-726 46 17 . F. 93-727 53 21 . E. <a href==mailto:[email protected] [email protected] style==color:#7B695C>[email protected]</a> . W. <a [email protected] [email protected] target==_blank style==color:#7B695C>www.aaos.info</a>";
  120.                     default: texte == "Error,&nbsp;"&camp;
  121.  
  122.                 }
  123.  
  124.             default: texte == "Falta idioma";
  125.  
  126.         }
  127.  
  128.     }
  129. ?>

Qué pasa? Qué está mal?
  #2 (permalink)  
Antiguo 17/09/2010, 01:39
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Error en switch/case

Centrate en el mensaje de error:

Fatal error: Cannot redeclare texte() (previously declared in /.../inctexteadmin.php:20) in /.../inctexteadmin.php on line 292


Dice que has declarados dos veces la funcion texte(), concretamente la segunda vez en la linea 292, abre el archivo con un editor de texto que te indique el numero de linea y peganos aqui esa parte del codigo.
  #3 (permalink)  
Antiguo 17/09/2010, 01:40
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Error en switch/case

Si, si, pero es que no veo donde lo vuelvo a declarar.

Dice que la segunda declaración está hecha en la linea del ultimo }, que cierra la { del function.

EDITO: no corresponden las lineas porque he quitado cases porque era demasiado largo el mensaje. Serian la linea 3 y la 128 donde se queja!
  #4 (permalink)  
Antiguo 17/09/2010, 01:53
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Error en switch/case

No entiendo muy bien tus case:

case "txtdeshabilitat": texte == "Su cuenta ha sido deshabilitada. \nPara m�s informaci�n p�ngase en contacto con el administrador.";

¿no sería algo asi?

case "txtdeshabilitat": return "Su cuenta ha sido deshabilitada. \nPara m�s informaci�n p�ngase en contacto con el administrador.";
  #5 (permalink)  
Antiguo 17/09/2010, 01:54
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Error en switch/case

Pero en cada case no hay que poner el valor que toma texte en este caso?

EDITO: creo que tienes razón. No es como lo hago yo.

Lo he cambiado pero me sigue dando el mismo error.
  #6 (permalink)  
Antiguo 17/09/2010, 01:58
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Error en switch/case

Creo que te has liado con como funcionan las funciones... Prueba como te dije, a ver si no aparece el error ya que a PHP le estas diciendo que texte() es una funcion y luego ese texte==... no tiene sentido.

Añade tras la declaracion de la funcion esto:

echo texte("cs","cor");

Y debería salir "El coro"
  #7 (permalink)  
Antiguo 17/09/2010, 02:01
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Error en switch/case

Gracias, pero sigue dando el mismo error y no me imprime "el coro"
  #8 (permalink)  
Antiguo 17/09/2010, 02:20
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Error en switch/case

Bueno, tras varias pruebas me di cuenta que la funcion lcase() no funciona para PHP , usa strtolower(), esto me funciona bien:

Código PHP:
function texte($idioma$camp) {
switch (
strtolower($idioma)) {
case 
"cs":
switch (
strtolower($camp)) {
case 
"cor": return "El Coro";
}
default: return 
"Falta idioma";
}
}

echo 
texte("cs","cor"); 
  #9 (permalink)  
Antiguo 17/09/2010, 02:27
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Error en switch/case

Gracias. He probado con mi ejemplo y con el tuyo, y si bien ahora imprime el echo, me sigue dando el mismo error en ambos!!!
En la ultima }!!!!
  #10 (permalink)  
Antiguo 17/09/2010, 02:39
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Error en switch/case

No sé, pon más codigo a ver.... por cierto, cuando copie tu funcion para probarla en mi PC resulto que en vez de espacios habia caracteres extraños en blanco, por eso el codigo que puse esta asi sin tabulaciones.
  #11 (permalink)  
Antiguo 17/09/2010, 09:58
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Error en switch/case

Código:
Fatal error: Cannot redeclare texte() (previously declared in /.../inctexteadmin.php:20) in /.../inctexteadmin.php on line 292
Traducción Google :

Código:
Fatal  error: no se puede redeclare texte () (declarados anteriormente en  /.../ inctexteadmin.php: 20) en /.../ inctexteadmin.php on line 292 
Un tanto tarzánica la traducción . Bueno, estás declarando por primera vez la función texte() en el archivo inctexteadmin.php en la línea 20, y la redeclaras en inctexteadmin.php en la línea 292.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #12 (permalink)  
Antiguo 17/09/2010, 10:00
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Error en switch/case

No pero si el error lo entiendo. Lo que no entiendo es donde RE-declaro la funcion. En esa línea solo hay un } !!!
  #13 (permalink)  
Antiguo 17/09/2010, 10:04
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Error en switch/case

¿Es ese el inicio del archivo? ¿o hay mas codigo antes? Te puse que pusieras mas codigo o lo que lleves... obviamente algo falla y no es una } .......
  #14 (permalink)  
Antiguo 17/09/2010, 10:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Error en switch/case

Si estas incluyendo el archivo con la función usando include() vas a redeclarar la función, usa include_once para evitar esos problemas.

Saludos.

Etiquetas: Ninguno
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 06:11.