- Home
- Categorie
- Coding e Sistemistica
- PHP
- ricaricare pagina cambiando include
-
Ciao pettedemon,
E' sufficiente che sostituisci:
[php]
include('pagina2.php');
[/php]In:
[php]
if(isset($_POST['nome']))
include('pagina3.php');
else
include('pagina2.php');
[/php]Che verifica se l'input è del form è stato inviato, se viene inviato include la pagina 3 invece della pagina 2.
-
Pagina principale
[php]<?php
if(isset($_POST['nome']))
include("dj/inviato.php");
else
include("dj/form_ciccio.php");
?>[/php]Pagina form_ciccio.php
[php]<link href="css/form_dj.css" rel="stylesheet" type="text/css" /><!-- da togliere il div contenitore dj perchè la pagina sarà inclusa -->
<div id="contenitore_form_dj" style="background-image: url(images/scrivia/scriviafabio.png)">
<form method="post" action="dj/dj_email_send.php">
<table width="830" height="169" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="89" height="24"> </td>
<td width="286"> </td>
<td width="256"> </td>
<td width="92"> </td>
<td width="107"> </td>
</tr>
<tr>
<td height="28"> </td>
<td><input name="nome" type="text" class="testo_form" style="float: left;
border:0px;
background: none;
vertical-align: center;
margin-left: 10px;
vertical-align:middle;
height: 12px;
width: 130px;" /></td>
<td><input name="mail" type="text" class="testo_form" style="float: left;
border:0px;
background: none;
vertical-align: center;
margin-left: 10px;
vertical-align:middle;
height: 12px;
width: 180px;" /></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="3" rowspan="2">
<textarea name="messaggio" label="messaggio" cols="110" rows="4" class="testo_form" style="float: left;
border:0px;
background: none;
vertical-align: center;
margin-left: 10px;
margin-top:10px;
height: 50px;
width: 600px;"></textarea></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="image" src="../images/djs/send_bt.png" style="padding-top:40px"/></td>
</tr>
</table>
<input type="hidden" name="djemail" id="djemail" value="[email protected]">
<input type="hidden" name="djname" id="djname" value="Fabiois">
</form>
<!-- da togliere il div contenitore dj perchè la pagina sarà inclusa -->
</div>
[/php]Pagina dj_email_send.php
[php]<?// Risposta automatica per l'utente
$timestamp = time();
$data = date("d.m.Y",$timestamp);
$ora = date("H:i",$timestamp);
// Testo per l'E-mail automatica di risposta
$vtext="Ciao ".$nome."\n\nGrazie per avermi scritto! \n\nTi rispondero' appena possibile!\n\nA presto!\n\n".$djname."\n\nMITTENTE\n\n\n\n\nLa tua email del ".$data." alle ".$ora.": \n\n".$messaggio;$risposta="Grazie per la tua e-mail";
$text=str_replace("\"",""", $messaggio);
$text=str_replace("'","'", $messaggio);
urlencode ($text);
$text=str_replace("%0D","\n", $messaggio);
$titolo="E-mail da MITTENTE da parte di ".$nome;//invio mail al dj
mail($djemail, $titolo, $messaggio, "From: ". $mail);
//invio mail al mittente
mail($mail, $risposta, $vtext, "From: ".$djemail);//carico la pagina di conferma invio mail
header("Location: dj_mailsent.html");
?>[/php]Dove sbaglio ?
-
Al posto di nome, devi inserire il nome di un campo di input inviato dal form.
Comunque se la pagina viene elaborata da un'altra pagina, non ti è sufficiente fare un redirect ad file che ti includa la pagina 3?
-
Nome infatti è un campo passato....
Ho provato a cambiare nella pagina dj_mail_send.php
[php]header("Location: dj_mailsent.html"); [/php]con[php]header("Location: principale.php"); [/php]
Ma mi carica la pagina di partenza...Mi sembra sia un po' piu' complicato fare il redirect considerando che dentro al comando include non posso mettere una variabile... o sbaglio ?
-
Fai un redirect a
[php]
header("Location: file.php");
[/php]Ed in file.php metti tutto come la pagina principale ma includi pagina 3.
Altrimenti passi una variabile GET, e nel princiaple da quella variabile stabilisci quale file includere.
-
Passando la variabile GET quindi potrei inserire un link dentro ad un include dinamico ?
Potrei quindi fare:
include ('$nome"_dj.php"')?
-
Ciao pettedemon,
Ti sconsiglio include dinamici per motivi di sicurezza, ma usare sempre dei controlli per non ritrovarsi valori inaspettati nella variabile
-
Come posso fare per avere include dinamico col il GET e un controllo allora ?
C'è qualche esempio ?
Grazieeeeee.
-
[php]
if($_GET['nome'] == 'pagina3')
include('pagina3.php');
else
include('pagina1.php');
[/php]
-
Mi sto perdendo....credo che il mio prolema sia nella pagina che mi invia la mail e che mi restituisce la nuova pagina da caricare....
[php]header("Location: ../inviata.php");[/php]
Il problema è che lo devo fare per 20 persone quindi fare i redirect è un po' macchinoso quindi forse è fantascienza ma vorrei una variabile su principale:
$campi = ciccio;Questa variabile negli include mi carica i nomi e le foto.
Una volta completato il form vorrei quindi che mi caricasse la pagina principale che sarebbe $campi.php con l'include della pagina inviata....
E' fantascienza o si puo' fare ?
Sempre se mi son spiegato.
-
Beh per mostrare cose differenti da utente ad utente devi usare un database, non 1 pagina per ogni utente (sarebbe assurdo)
-
Si lo so.... infatti sto iniziando a capirmi adesso con php e quindi cerco di recuperare qualche scorciatoia.....