Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Foreach.. problema

  1. #1

    Foreach.. problema

    Salve, volevo creare una pagina che in un sol colpo modificasse tutte le pagine nello stesso punto con la stessa cosa e avevo scritto così:

    Codice PHP:
    <form action="" method="POST">
    Parola da sostituire:

    <input type="text" name="parola">


    Eventuale TP:

    <input type="text" name="parola_tp">


    Parola sostituente:

    <input type="text" name="parola_sost">


    Eventuale sostituente TP:

    <input type="text" name="parola_sost_tp">


    <input type="submit" value="Invia" name="inviato"></form>


    <?

    $parola 
    $_POST['parola'];
    $parola_tp $_POST['parola_tp'];
    $parola_sost $_POST['parola_sost'];
    $parola_sost_tp $_POST['parola_sost_tp'];
    $inviato $_POST['inviato'];


    $page = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','virgola','punto','duepunti','interrogativo','esclamativo','trattino');

    foreach (
    $page as $value) {
    $page_.$value file_get_contents("/membri/habbopoker/".$value.".php");
    $apri_.$value "/membri/habbopoker/".$value.".php";
    }

    $da = array($parola$parola_tp);
    $a = array($parola_sost$parola_sost_tp);

    if(isset(
    $inviato)) {
    foreach(
    $page_.$value as $value2) {
    $fine_.$value str_replace($da$a$value2);
    $fp.$value fopen($apri_.$value'w+');
    fwrite($fp.$value$fine_.$value);
    fclose($fp.$value);
    }

    echo 
    'Fatto!';

     }
    ?>
    Se può interessare /membri/NOMEUTENTE/ è il percorso 'globale' di altervista.. Comunque il problema è che le pagine non vengono modificate, dove ho sbagliato?
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Foreach.. problema

    Originariamente inviato da 0-c00l
    foreach ($page as $value) {
    $page_.$value = file_get_contents("/membri/habbopoker/".$value.".php");
    $apri_.$value = "/membri/habbopoker/".$value.".php";
    }
    Non va perchè questo codice è un disastro.

    Intanto, si presume che $page è un array perchè ci fai un foreach, poi dentro il ciclo (e qui viene il secondo errore) cerchi di concatenarlo (come se fosse una stringa) per creare dinamicamente il nome di una variabile (che è appunto il secondo errore).

    Molto velocemnte e senza testarlo, credo che quello che tu voglia fare si possa fare evitando assegnazioni e l'uso di 2 cicli, ma in un ciclo solo con:

    codice:
    $da = array($parola, $parola_tp);
    $a = array($parola_sost, $parola_sost_tp);
    foreach ($page as $value) {
      $content  = file_get_contents("/membri/habbopoker/".$value.".php");
      file_put_contents("/membri/habbopoker/".$value.".php", str_replace($da, $a, $content));
    }

  3. #3

    Re: Re: Foreach.. problema

    Originariamente inviato da gianiaz
    Non va perchè questo codice è un disastro.

    Intanto, si presume che $page è un array perchè ci fai un foreach, poi dentro il ciclo (e qui viene il secondo errore) cerchi di concatenarlo (come se fosse una stringa) per creare dinamicamente il nome di una variabile (che è appunto il secondo errore).

    Molto velocemnte e senza testarlo, credo che quello che tu voglia fare si possa fare evitando assegnazioni e l'uso di 2 cicli, ma in un ciclo solo con:

    codice:
    $da = array($parola, $parola_tp);
    $a = array($parola_sost, $parola_sost_tp);
    foreach ($page as $value) {
      $content  = file_get_contents("/membri/habbopoker/".$value.".php");
      file_put_contents("/membri/habbopoker/".$value.".php", str_replace($da, $a, $content));
    }
    Ok, grazie
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.