Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Fatal error: Cannot redeclare function

    Ho capito da dove si origina il problema, ma non so come porvi rimedio.
    Mi spiego meglio:ho una pagina in cui metto le notizie,20 per pagina, titolo ed il famoso testo estratto , siccome la funzione si ripete per ogni notizia allora mi arriva questo messaggio:
    Fatal error: Cannot redeclare truncate_string() (previously declared in c:\programmi\easyphp1-8\www\onlinetopcasino\phpnews\templates\headlines_ temp.php:10) in c:\programmi\easyphp1-8\www\onlinetopcasino\phpnews\templates\headlines_ temp.php on line 10
    Ho capito che l'errore deriva dal fatto che in pratica la funzione si moltiplica per 20, ma non so come porvi rimedio.
    Un altra volta chiedo a voi, o miei prodi (Prodi?), aiutatemi vi prego!!!!!

    p.s. ho letto chi suggerisce di mettere invece che include, mettere include_once, ma ci ho provato e non funziona e poi credo che il mio sia un altro tipo di situazione
    Ho visto cose...

  2. #2
    devi togliere la dichiarazione di funzione o l'include dal ciclo

    ad esempio

    function bubu(){
    //tua funzione
    }

    while(1=1){
    bubu();
    }

    se metti la dichiarazione di funzione dentro al ciclo la dichiari n volte e strippa

  3. #3
    Originariamente inviato da bubu77
    devi togliere la dichiarazione di funzione o l'include dal ciclo

    ad esempio

    function bubu(){
    //tua funzione
    }

    while(1=1){
    bubu();
    }

    se metti la dichiarazione di funzione dentro al ciclo la dichiari n volte e strippa
    non riesco a capire, mi puoi fare un esempio pratico?
    Ho visto cose...

  4. #4
    function mia_funzione()
    {blablabal..}

    for(0;20;+1)
    {
    }


    invece di:

    for(0;20;+1)
    {
    function mia_funzione()
    {blablabal..}
    }

    chiaro?!?
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    come ti hanno detto il codice sta dichiarando nuovamente una funzione già dichiarata.

    probabilmente includi una pagina contenente le funzioni più volte nel tuo codice, rimpiazza le funzioni include e require con include_once e require_once




  6. #6
    Originariamente inviato da ghiacciato
    function mia_funzione()
    {blablabal..}

    for(0;20;+1)
    {
    }


    invece di:

    for(0;20;+1)
    {
    function mia_funzione()
    {blablabal..}
    }

    chiaro?!?
    Non funziona
    Posto il codice
    Codice PHP:
    $maxlength    150;
      
    $extension    " ...";


    function 
    truncate_string ($maintext$maxlength$extension) {

       
    // Set the replacement for the "string break" in the wordwrap function
       
    $cutmarker "**cut_here**";

       
    // Checking if the given string is longer than $maxlength
       
    if (strlen($maintext) > $maxlength) {

           
    // Using wordwrap() to set the cutmarker
           // NOTE: wordwrap (PHP 4 >= 4.0.2, PHP 5)
           
    $maintext wordwrap($maintext$maxlength$cutmarker);

           
    // Exploding the string at the cutmarker, set by wordwrap()
           
    $maintext explode($cutmarker$maintext);

           
    // Adding $extension to the first value of the array $string, returned by explode()
           
    $maintext $maintext[0] . $extension;
       }

       
    // returning $string
       
    return $maintext;

    }
     
      
    $maintext_sub truncate_string($maintext$maxlength$extension); 
    $maintext l'ho già definito.
    Io ho provato a mettere il tuo codice in tutte e due le posizioni che mi hai detto, ma non va, c'è un rallentamento quando si prova a caricare la pagina e poi mi arriva questo messaggio:
    Fatal error: Maximum execution time of 30 seconds exceeded in http://localhost/onlinetopcasino/phpnews/headlines.php on line 1
    Non vorrei risultare assillante maleducato, ma vorrei chiedervi come si fà ad aggirare questo cavolo di problema? Ho cercato sia sul forum che in rete, ma non ho trovato niente, a parte il consigliodi usare require_once e include_once, ci ho provato , ma mi mette solo un estratto per tutti gli headlines...AIUTO!!!!
    Ho visto cose...

  7. #7
    C'è qualcuno che mi può aiutare?
    Io sti esempi non li ho capiti
    Vi prego...
    Ho visto cose...

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Con il codice che hai postato non si puo' fare nulla.

    Posta lo script per intero.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Originariamente inviato da badaze
    Con il codice che hai postato non si puo' fare nulla.

    Posta lo script per intero.
    Ma allora quello che mi hanno scritto prima non serve a niente?

    Il resto dello script non serve a niente. Questo è lo script che ho aggiunto, e da quando l'ho aggiunto e sono riuscito a definire sto maledetto $maintext, mi da l'errore di redeclare.
    La domanda, cercando di essere più sintetico possibile è: come posso aggiungere più di una volta la stessa funzione nella stessa pagina?
    Bubu77 e ghiacciato mi hanno suggerito delle soluzioni(WHILE e FOR) solo che per mia ignoranza non riesco ad applicarle.

    p.s. replico che include_once e require_once non servono al mio caso
    Aiuto...
    Ho visto cose...

  10. #10
    ora l'errore è cambiato!

    stai superando i 30 secondi di limite per ogni pagina php

    prova a mettere in cima al file
    ini_set('max_execution_time','60');

    anche se mi sembra un tempo smisurato per una pagina web, in pratica un utente deve attendere + di 30 secondi prima che la pagina cominci ad arrivargli

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.