Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    58

    [<a href="messaggiosingolo.php?id=$id>...</a> .......AIUTO!!!

    Ciao,
    devo adattare questo link
    <a href="messaggiosingolo.php?id=$id>...</a>

    Praticamente deve crearmi automaticamente un link a ciascuna news contenuta in un file txt.
    Mi dice che devo dichiarare la variabile $id.
    Ok, ma come, sono un neofita e sto girando tra forum, guide ed altro ma ancora non ho capito come.
    Se non volete darmi il codice vi prego almeno di farmi capire come devo fare per risolvere il "mio" problema!

    Questo è il codice:
    Codice PHP:
    FUNZIONE
    function myfragment($str$n$delim='[...]'

       
    $len strlen($str); 
       
       if (
    $len $n) { 
           
    preg_match('/(.{' $n '}.*?)b/s'$str$matches); 
           return 
    rtrim($matches[1]) . $delim
       } 
       else 
           return 
    $str
       

    RICHIAMO LA FUNZIONE
    Codice PHP:
    $messaggio myfragment($messaggio,50,'[<a href="messaggiosingolo.php?id=$id>...</a>]'); 
    STAMPO
    Codice PHP:
    echo "-$campiriga[1]-$campiriga[2]-".stripslashes($messaggio)."-[b]$campiriga[3][/b]
    "


  2. #2
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    A parte che il titolo è indecifrabile, e che non si capisce una mazza....
    le news dove sono?
    sono tutti file txt? stanno tutte dentro una cartella?
    devi creare i link di tutti i file?
    che cacchio sono campiriga[1] ecc.?
    cosa vuoi ottenere?
    ...altri 5 anni di purga...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    58
    ciao,
    allora ho un file txt del tipo
    id|data|corso|nome|email|messaggio

    campiriga[0] è l'id
    campiriga[1] è la data
    ecc.

    questo file lo riempio attraverso un form per l'inserimento di messaggi.

    nella bacheca voglio stampare ogni singolo messaggio in modo tale che se sono troppo lunghi li accorcio con "[...dettagli]" e cliccandoci sopra si apre un popup nel quale recupero tutti i dati di quel messaggio e li stampo a video.
    Inoltre ho inserito una funzione in modo da stampare xxxx al posto di parole poco carine.
    questo è il file:
    Codice PHP:
    <?php
    function myfragment($str$n$delim='[...]'

       
    $len strlen($str); 
      
       if (
    $len $n) { 
           
    preg_match('/(.{' $n '}.*?)b/s'$str$matches); 
           return 
    rtrim($matches[1]) . $delim
       } 
       else 
           return 
    $str
     
    }
    function 
    strSelect$myString$maxLength ) {
        
    $out "";
        
    $s explode" ",$myString );
        for( 
    $i 0$cs count$s ); $i $cs$i++ ) {
            
    $out .= $s[$i]." ";
            if( isSet( 
    $s[$i+1] ) && ( strlen$out ) + strlen$s[$i+1] ) ) > $maxLength ) {
                break;
            }
        }
        return 
    rtrim$out );
    }
    $common file('public/bacheca/db/stopwords.txt'); 

    $total count($common);     

    for (
    $x=0$x $total$x++) 
        
    $common[$x] = '/'.trim(strtolower($common[$x])).'/i'

    $contatore 0
    $textfile fopen("public/bacheca/db/messaggi.txt""r"); 

    while (
    $rigafile fgets($textfile,1024)) 

    $campiriga explode("|"$rigafile); 

    $messaggioCensuratopreg_replace($common'XXXX'$campiriga[5]); 

    $corso_corto strSelect$campiriga[2], 40 )."...";

    $messaggio_link myfragment($messaggioCensurato,20,'[[url="messaggiosingolo.php?id=$campiriga[0]"]...dettagli [/url]]');

    echo 
    "<font color=#ff9900>-</font>$campiriga[1]-$corso_corto-".stripslashes($messaggio_link)."-[b]$campiriga[3][/b]
    "



    fclose($textfile); 
    ?>
    mentre questo è il file "messaggiosingolo.php" dove "cerco" di recuperare i dati. Dico cerco perchè mi recupera solo i dati dell'ultimo messaggio in bacheca e non quelli relativi al messaggio che clicco...non capisco perchè.
    Codice PHP:
    <?php
    $id 
    $_GET["id"];
    $textfile fopen("public/bacheca/db/messaggi.txt""r");

    while ( 
    $rigafile fgets($textfile,1024)) {
     
    $campiriga explode("|"$rigafile);
     
    $idriga $campiriga[0];

     if (
    $idriga == $id) {
      
    $cid $campiriga[0];
    $cdata $campiriga[1];
    $ccorso $campiriga[2];
    $cnome $campiriga[3];
    $cemail $campiriga[4];
    $cmessaggio $campiriga[5];
     }

    }
    fclose($textfile);
    ?>
    ...
    ...
    ...
    <span class="Stile3">[b]Data[/b]</span>
                        <input name="data" type="text" class="Stile4" value="<?=$campiriga[1]?>" size="15">
                        

                        <span class="Stile3">[b]Corso[/b]</span>
                        <input name="corso" type="text" class="Stile4" value="<?=$campiriga[2]?>" size="75">
                        

                        <strong class="Stile3">Nome[/b]
                        <input name="nome" type="text" class="Stile4" value="<?=$campiriga[3]?>" size="25">
                        

                        <strong class="Stile3">Messaggio[/b]
                        <textarea name="messaggio" cols="60" class="Stile4"><?=$campiriga[5]?></textarea>
    Inoltre, in bacheca, quando inserisco un messaggio troppo lungo mi da
    Undefined offset: 1 nella riga corrispondente a
    Codice PHP:
    return rtrim($matches[1]) . $delim
    Ho notato, aggiungendo l'istruzione per far aprire il popup, che non mi recupera più l'id e di conseguenza mi da errore Undefined variable $id = $_GET["id"]

    Come posso fare?
    Ti ringrazio anticipatamente,
    cicileu

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    [...dettagli ]

    Prova così
    ...altri 5 anni di purga...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    58
    ciao alpeweb,
    grazie del suggerimento, funziona!
    Per quanto riguarda gli altri problemi, ossia:
    1- se il messaggio è troppo lungo mi da l'errore Undefined offset:1 on line....ecc.
    2- il fatto che se clicco su dettagli mi legge sempre l'ultima riga

    Hai qualche idea?
    Ti ringrazio ancora,
    cicileu

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.