Gracias a todos por contestar. Os cuento cómo lo resolví por si le sirve a alguien.
Primero quiero decir que por mi pequeña experiencia, mejor no mezclar código. Cuando he creado un archivo para PHP, otro para Javascript y otro para HTML es cuando esto ha empezado a funcionar.
Así que he creado una nueva carpeta en el root. Ahí están el html (contacto.html), el javascript para validar (validar.js) y el PHP para comprobar el captcha y enviar la info (contacto.PHP). Además, una carpeta captcha con los archivos de captcha fácil [URL="http://www.captchafacil.com.ar/"]http://www.captchafacil.com.ar/[/URL]
El archivo HTML con el formulario, con el siguiente código (resumido, que tiene muchísimas partes):
<form method="post" action="/prueba/contacto.php" onsubmit="return Validar(this);">
<TABLE class="formulario" WIDTH="100%" CELLSPACING="20" border="0">
<TR>
<TD>    </TD>
<TD><p></p></TD>
<TD></TD>
<TD>    </TD>
</TR>
<TR>
<td colspan="5"><h1 align=center><span style="color: #FFFFFF">DATOS</h1></td>
</TR>
<TR>
<TD></TD>
<TD><h2> <span style="color: #FFFFFF">Nombre</h2></TD>
<TD>
<INPUT class="tb2" type=text name="nombre" size="40" maxlength="50">
</TD>
<TD><b>Escriba aquí su nombre...</b>
</TD>
<TD></TD>
</TR>
<TR>
<TD></TD>
<TD><h2><span style="color: #FFFFFF">Dirección de email</h2></TD>
<TD>
<INPUT class="tb2" type=text name="email" size="20" maxlength="30">
</TD>
<TD><b>Escriba aquí su email.</b>
</TD>
<TD></TD>
</TR>
<TR>
<TD></TD>
<TD><h2> <span style="color: #FFFFFF">Dirección de email</h2></TD>
<TD>
<INPUT class="tb2" type=text name="email2" size="20" maxlength="30">
</TD>
<TD><b>...Y otra vez por favor</b>
</TD>
<TD></TD>
</TR>
.
.
.
.hasta llegar al captcha
.
.
<TR>
<TD></TD>
<TD><h2><span style="color: #FFFFFF">Código de seguridad</h2></TD>
<TD><img src="/captcha/captcha.php" /><br/><input type="text" size="12" name="captcha" />
</TD>
<TD><b></b></TD>
<TD></TD>
</TR>
</TABLE>
<input class="tb2" type="reset" value="Borrar" />
<input class="tb2" type="submit" name="procesa_form" value="Enviar"/>
</FORM>
El archivo validar.js con diferentes funciones para validar diferentes aspectos de la info introducida:
function Validar(form)
{
if(form.nombre.value.length==0)
{
alert("hay que meter el nombre!!");
form.nombre.focus()
return false;
}
if(form.email.value.length==0)
{
alert("hay que meter el email!!");
form.email.focus();
return false;
}
if(form.email2.value.length==0)
{
alert("hay que meter el email!!");
form.email.focus();
return false;
}
.
. . Es muy largo también )P .
.
. Y por último, el archivo PHP
<?php
session_start();
if(strtoupper($_REQUEST["captcha"]) == $_SESSION["captcha"])
{
// REMPLAZO EL CAPTCHA USADO POR UN TEXTO LARGO PARA EVITAR QUE SE VUELVA A INTENTAR
$_SESSION["captcha"] = md5(rand()*time());
$nombre = "";
$email = "";
$formcontent="";
$recipient = "";
$subject = "";
$mailheader = "";
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$formcontent="Nombre: $nombre \n Email: $email";
$recipient = "
[email protected]";
$subject = "Correo";
$mailheader = "tralari \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
die("Muchas gracias, su mensaje fue enviado correctamente");
}
else
{
die("Error: El código introducido no es correcto");
}
?>
Y eso es todo.