Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 56
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    43

    Modificare tag html con codice php

    Salve,

    Vorrei poter modificare una pagina html tramite vari form. Ovvero ho una pagina html divisa in due frame, nel frame di sinistra ho dei form che possono inviare dati al mio frame destro (la pagina .php, ovvero la pagina che vorrei modificare) che riceve i vari dati e puo cosi cambiare il codice contenuto al suo interno a seconda del comando impartito dal form.

    Esempio, voglio poter cambiare una data parola nel primo paragrafo del secondo div, dunque immetto la parola desiderata nel from "text" corrispondente a quel paragrafo che voglio modificare e premo il pulsante "submit" prova codice; immediatamente dovrei vedere la mia pagina .php ricaricata nel frame destro con le opportune modifiche.

    Purtroppo non ho idea di come scrivere il codice php nella pagina che riceve il form, cosi che vada a sostituire soltanto i tag html cambiati dai form,qualcuno gentilmente puo aiutarmi?

    Grazie, questo è il codice .html

    codice:
    
    <!DOCTYPE html>
    
    <html lang="en-US">
    
    <head>
    
    <title>Prova</title>
    
    </head>
    
    
    
    <body>
    
    <table border="0" class="maintable" cellpadding="3px" cellspacing="3px">
    
    <tr>
    
    <td width="65%">
    
    
    
    <form action="demo.php" method="post">
    
    <input type="text" name="modifica_parte_1"> 
    
    
    <textarea name="modifica_parte_2">
    </textarea>
    
    
    <input name="1" type="checkbox" value="aaa"/>modifica_parte_3
    
    <input name="2" type="checkbox" value="bbb"/>modifica_parte_4
    
    
    <input  name="submit" type="submit" value="Prova Codice" onclick="displayad()">
    
    </form>
    
    
    
    </td>
    
    <td valign="top">
    
    <iframe src="demo.php" height="500" width="400" frameborder="0" name="view">
    </iframe>
    
    
    </td>
    
    </tr>
    
    </table>
    
    
    
    </body>
    
    </html>
    questo è il codice .php

    codice:
    <!DOCTYPE html>
    <html>
    
    	<head>
            
    		<title>prova-php</title>
            
    		<link href="style.css" rel="stylesheet">
    
    		<script type="text/javascript" src="base.js"></script>
           
    	</head>
    	<body>
    
    
    		<div class="header">
            
            <h1>Qui ce il contenuto html numero 1</h1>
            
    
    possono esserci vari tag  html</p>
            
            </div>
            
            <div class="contenent">
            
            <h2>altra parte di codice html</h2>
            
    
    Voglio modificare QUESTE PAROLE con il form text</p>
            
    
    Volgio poter modificare e aggiungere del testo QUI attraverso la textarea</p>
            
            </div>
            
            <div class="footer">
            
            <h2>posso scegliere di far vedere questo tag selezionando il primo checkbox</h2>
            <h2>posso scegliere di far vedere questo tag selezionando il secondo checkbox</h2>
            
            </div>
    		
    	</body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Ciao. Se ho capito bene hai una pagina principale, che è la prima di cui hai scritto il codice e in cui tu mostri il form, e un iframe contenente la pagina demo.php. Poi vuoi che il form della pagina contenitore invii dei valori alla pagina demo.php contenuta nell'iframe e questa riceve i dati e modifica il proprio contenuto. Giusto?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    43
    Si hai capito perfettamente .

  4. #4
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Ok. Allora per prima cosa per far sì che il form invii i dati alla pagina contenuta nel frame devi modificare il codice e aggiungere al form l'attributo target.
    Così:
    codice:
    <form action="demo.php" method="post" target="view">
    Poi nella pagina demo.php all'inizio di tutto in php scrivi il codice per recuperare i dati passati tramite POST:
    Codice PHP:
    <?php
    $modifica_parte_1 
    $_POST['modifica_parte_1'];
    $modifica_parte_2 $_POST['modifica_parte_2'];
    $modifica_parte_3 $_POST['modifica_parte_3'];
    $modifica_parte_4 $_POST['modifica_parte_4'];
    ?>
    Poi dove vuoi mostrare il valore di una delle variabili lo fai così:
    Codice PHP:
    <?php echo $modifica_parte_1?>
    Attento però che se un utente inserisce del codice html nell'area di testo del form e poi tu lo mostri direttamente nella pagina demo.php senza averlo formattato, l'utente potrebbe inserire del codice invasivo che compromette la sicurezza del tuo sito. Non so se mi sono spiegato.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    43
    Perfetto!!! Funziona correttamente!!

    Un'ultima cortesia, se io volessi che, nel momento in cui vado ad inserire del testo nella textarea del form, questo oltre che ad andarsi ad aggiungere nel contenuto gia scritto nell'iframe di default, vada proprio a sostituirsi ad una parte del testo, come o dove dovrei inserire la variabile php?

    E cosa intendi per "poter inserire del codice invasivo per il mio sito"? Che tipo di codice potrebbero inserire?

    Grazie mille!!

  6. #6
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Prego, non c'è di che.
    Per quanto riguarda il codice invasivo, potrebbero inserire qualsiasi codice html e javascript che vogliono nel tuo sito in questo modo. Alcuni script javascript potrebbero essere abbastanza pericolosi.
    Un esempio inoffensivo è che uno nell'area di testo del form scrive:
    codice:
    <script type="text/javascript">alert("Errore!");</script>
    Così se nella pagina demo.php visualizzi tutto il testo inviato senza formattarlo con il codice sopra viene visualizzato un messaggio di allerta. Questo è un esempio stupido ma potrebbero agire in modo pericoloso o fastidioso. Vedi tu cosa vuoi fare, se vuoi formattare il testo per evitare pericoli ci sono delle funzioni php apposta.

    Per quanto riguarda l'altra domanda ti consiglio di studiare la guida al php presente su questo sito così può aiutarti a schiarire le idee meglio di quanto posso io. La trovi qui: http://php.html.it/guide/leggi/99/guida-php-di-base/
    Comunque con il comando echo del php puoi visualizzare il testo che vuoi compreso i valori delle variabili inviate tramite il form.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    43
    Grazie di tutto!!

  8. #8
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Prego, non c'è di che. Se hai ancora bisogno di aiuto basta chiedere.


  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    43
    Ciao,

    Stavo vedendo la guida base php che mi hai consigliato, e ho notato le istruzioni if ed else, ho provato a scrivere del codice con queste istruzioni ma non riesco comunque a far sostituire il testo gia scritto con quello nuovo immesso nel form, ma riesco soltanto a fargli aggiungere del testo.
    In pratica dovrei fare in modo che se l'utente non scrive nulla nel form il testo resti quello di default, mentre se l'utente immette del testo nel form questo vada a sostituirsi al testo di default.
    Volevo chiederti se quello che vorrei ottenere è possibile ottenerlo in qulache maniera o se sto impazzendomi per nulla?

    Grazie di nuovo!!

  10. #10
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Ciao. Devi usare appunto le istruzioni if ed else. E' possibile eccome quello che vuoi fare ed è facile, fidati. Stai solo ragionando nel modo sbagliato, perchè tu non devi pensare a sostituire il testo di default ma a mostrare al suo posto il testo ricevuto dal form se viene inviato.
    Capisci che la logica è diversa? Ora non ti resta che tradurre il ragionamento logico in codice php.

    Innanzitutto quando valorizzi la variabile puoi fare così:
    Codice PHP:
    $modifica_parte_1 = (isset($_POST['modifica_parte_1'])) ? $_POST['modifica_parte_1'] : ''
    Quello che vedi è un if abbreviato per assegnare il valore alla variabile. Funziona in questo modo: la prima parte racchiusa tra parentesi vuol dire in pratica "se è stato inviato il valore modifica_parte_1 tramite il form", poi la parte dopo il punto interrogativo è come "allora assegna alla variabile il valore ricevuto dal form" e la parte dopo i due punti "altrimenti assegna valore vuoto".

    Dopo quando vuoi mostrare il testo ricevuto dal form o quello di default fai così:
    Codice PHP:
    // controllo se è stato inviato il testo tramite il form
    if ($_POST['modifica_parte_1'] != '') {
    echo 
    $_POST['modifica_parte_1']; // mostro il testo inviato
    }
    else { 
    // altrimenti se non è stato inviato o se è vuoto
    echo 'testo di default...'// mostro il testo di default

    Spero di essermi spiegato bene altrimenti chiedi pure.

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.