Foros del Web » Programando para Internet » PHP »

mail en IESPANA

Estas en el tema de mail en IESPANA en el foro de PHP en Foros del Web. Buenas, Tenia un formulario PHP en un host de iespana que funcionava a la perfeccion, hasta que me percaté que empezé a recibir mensajes desde ...
  #1 (permalink)  
Antiguo 12/11/2006, 12:48
 
Fecha de Ingreso: diciembre-2001
Mensajes: 118
Antigüedad: 22 años, 3 meses
Puntos: 0
mail en IESPANA

Buenas,

Tenia un formulario PHP en un host de iespana que funcionava a la perfeccion, hasta que me percaté que empezé a recibir mensajes desde ese formulario con los campos vacios, entonces me puse en contacto con iespana

Código:
Apreciados señores,

No hace muchos dias pude comprovar que un formulario PHP que diseñe para enviar datos mediante la web http://www.toniveas.com/quinaradio/index.php?id=6 dejó de funcionar repentinamente, así como otros formularios que tengo en mi mismo servidor http://www.toniveas.com/mostracinema/contacte.php...

Mi pregunta es si ustedes han desactivado el comando mail de PHP de mi server... la question es que los emails los recibo pero con los campos vacios, anteriormente, esto no sucedia.

Utilizaria con mucho gusto la herramienta que ustedes proporcionan para formularios de contacto, pero tiene 3 pegas que me hacen decantar hacia mi propio formulario (los campos estan redactados en CASTELLANO y en mi caso necesito formularios en CATALÁN y CASTELLANO), los campos están limitados y predeterminados y finalmente solo se puede predeterminar una cuenta de correo donde recibir los mensajes.

Podrian hacer el favor de solventar el problema (si es de ustedes).

Muchas gracias

La respuesta por parte de IESPANA fue la siguiente:

Código:
Hola,

Por razones de seguridad, y porque es el nuevo setting por defecto de PHP (y altamente recomendado por PHP), hemos pasado la configuración PHP register_globals de on a off.
Por lo tanto, si su web le da algunos errores, hay una serie de cambios que debe realizar :

Si accede a variables PHP en GET, por ejemplo ‘toto’, y accede via $toto, a partir de ahora debe acceder via $_GET['toto']

Si accede a las variables PHP en POST, por ejemplo 'toto' y accede via $toto, a partir de ahora debe acceder via $_POST['toto']

Si accede a variables PHP en SESSION, por ejemplo 'toto', y accede via $toto, a partir de ahora debe acceder via $_SESSION['toto']

Si accede a variables de information servers, por ejemplo 'SERVER_NAME', y accede via $SERVER_NAME, a partir de ahora debe acceder via $_SERVER['SERVER_NAME']

Para más información puede consultar :
http://es.php.net/es/register_globals

Existe otra función (aunque no es muy recomendable por razones de seguridad) , que es import_request_variables().
Encontrará la información en :
http://es.php.net/manual/es/function.import-request-variables.php

Cordial saludo,
IEspanaPro.
Muy bien, pero francamente no sé donde tengo que ingresar esas modificaciones, el codigo del php que procesa los datos del formulario es este:

Código PHP:
<HTML>
<link href="css/estilos.css" rel="stylesheet" type="text/css">
<?PHP


function respuesta($respuesta)
{
    print 
"<span class=\"normal\">$respuesta <a href=\"mi url">Tornar</a></span>";
}

function enviar($destino,$asunto,$texto)
{
    $origen="
mi correo";
    $destino="
mi correo";
    return (mail($destino, $asunto, $texto, "
From$origennContent-Typetext/htmlcharset=iso-8859-1"));
}

print "
<head><title>Formulariotitle></head>";
print "
<body>";
$texto .="
Nom$nom      ";
$texto .="
Municipi$municipi      ";
$texto .="
Correu$correu      ";
$texto .="
Missatge$missatge      ";

if (enviar($destino,"
Missatge rebut des de la web",$texto))
    respuesta($respuestaok);
else
    respuesta($respuestako);
?>
</body>
</html>
Sabriais decirme donde tengo que colocar esos $_GET?
  #2 (permalink)  
Antiguo 12/11/2006, 13:01
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Sonrisa Hola

No es que debas cambiar las variables que tu mismo definas como por ejemplo puede ser:
Código PHP:
$usuario 'marcosr'
Esto no debes modificarlo. Lo que debes hacer es que en las variables de donde recibes los datos del formulario, debes insertar $_POST['campo'] si el formulario se envía por post o $_GET['campo'] en el caso de que se envíe por get. Supongo lo envías por post por lo que tu código quedaría así:

Código PHP:
<?

function respuesta($respuesta)
{
    print 
"<span class=\"normal\">$respuesta <a href=\"mi url">Tornar</a></span>";
}

function enviar($destino,$asunto,$texto)
{
    $origen = $_POST['de']; // 'de' lo sustituyes por el nombre del campo que define la variable orígen.
    $destino = $_POST['para']; // 'para' lo sustituyes por el nombre del campo que define la variable destino.
    return (mail($destino, $asunto, $texto, "
From$origennContent-Typetext/htmlcharset=iso-8859-1"));
}

print "
<head><title>Formulariotitle></head>";
print "
<body>";
$texto .="
Nom$nom      ";
$texto .="
Municipi$municipi      ";
$texto .="
Correu$correu      ";
$texto .="
Missatge$missatge      ";

if (enviar($destino,"
Missatge rebut des de la web",$texto))
    respuesta($respuestaok);
else
    respuesta($respuestako);
?>
Creo que no me equivoqué en nada, espero que los grandes sabios del PHP no deban corregirme nada : )

Prúebalo !

Es bueno que te diga que la carta que escribiste a iespana está muy bien redactada pero... cuestión se escribe con C y no question, hablamos inglés?

Saludos !

Última edición por marcosr; 14/12/2006 a las 04:45
  #3 (permalink)  
Antiguo 12/11/2006, 13:16
 
Fecha de Ingreso: diciembre-2001
Mensajes: 118
Antigüedad: 22 años, 3 meses
Puntos: 0
No, si los mensajes los recibo, pero no llegan los textos que se ingresan en los campos, de todos modos lo he intendo con el codigo que me has facilitado y simplemente no recibo los mensajes...

Y lo de cuestión con Q viene del hecho que soy catalán y muchas veces se me va el xip de que escribo en castellano, cuestión en catalán se escribe: qüestió.

Muchas gracias de todos modos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:22.