Salve a tutti.
Sto realizzando una pagina di wp al cui interno vorrei avere una specie di modulo contatti utilizzato come richiesta di materiale. (Lo so che esistono plugin adatti a questo scopo ma non sono personalizzabili ne tantomeno permettono la scelta multilpla)
Ho creato un nuovo template di pagina
<?php
/*
Template Name: Modulo materiale
*/
?>
E ho una struttura di questo tipo:
<?php get_header(); ?>
<div id="contenitore"
<?php get_sidebar(); ?>
<div id="contenuto">
<div class="post">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
</div>
<?
if (isset($_POST['submit']) and $_POST['submit']==TRUE) {
$receiverMail = "miamail@miosito.com";
$name=stripslashes(strip_tags($_POST['name']));
$email=stripslashes(strip_tags($_POST['email']));
$luogo=stripslashes(strip_tags($_POST['luogo']));
$subject=stripslashes(strip_tags($_POST['subject']));
$msg=stripslashes(strip_tags($_POST['message']));
$make=stripslashes(strip_tags($_POST['make']));
$ip=$_SERVER['REMOTE_ADDR'];
$msgformat="Messaggio da: $name ($ip); scrive da $luogo ; nEmail: $emailnn$msg $make $type $model $lunghezza $larghezza";
if(empty($name) || empty($email) || empty($subject) || empty($luogo) || empty($msg) || empty($make))
$resp="<h2>Il messaggio non è stato spedito</h2><p>Per favore compila tutti i campi.";
elseif(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email))
$resp="<h2>Il messaggio non è stato spedito</h2><p>L' indirizzo email non sembra valido.";
elseif(mail($receiverMail, $subject, $msgformat, "Da: $name <$email>"))
$resp="<h2>Il messaggio è stato spedito con successo</h2><p>Riceverai una risposta al più presto direttamente al tuo indirizzo email. Grazie per averci scelto.";
else $resp="<h2>Il messaggio non è stato spedito</h2><p>Si sono infatti verificati problemi tecnici: ti invitiamo a riprovare più tardi.";
$resp=$resp." Puoi tornare alla <a href=\"index.php\">Home page</a></p>";
echo $resp;
}
else { ?>
<form method="post" action=""><div id="materiale">
<label for="name">Nome: </label>
<p><input type="text" id="name" name="name" size="25">
</p>
<br>
[CUT -- CUT -- CUT ]
</form>
<? } ?><
</div> <!-- Closes the contenuto div-->
</div>
<!-- Closes the contenutore div-->
<?php include('footer.php'); ?>
Perdonate la lunghezza del codice. Il problema è che se provo ad inviare la richiesta mi viene restituita la pagina template 404.
Il modulo sono certo che funzioni.
Il problema è dovuto sicuramente a uno di questi due motivi:
1- I permalink danno fastidio all'esecuzione dello script (molto improbabile)
2- Problemi di Loop.
Sono fuori strada?
tnx