Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/10/2009, 16:03
jonatanc
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: no se envia el correo

Hola ,pues mira a simple vista estas usando la estructura iterativa equivocada , te explico , do while se ejecuta siempre 1 vez por más que la condición no se cumpla entonces si no tiene datos en tu vector resultante.....estaremos el problemas , por otro lado si mal no entiendo tu utilizas mysql_fetch_array en una condición de un if ? , pues bien eso esta MAL , mysql_fetch_array te devuelve retorna si mal no me equivoco true si se ejecuto bien , pero nada mas , ahi lo optimo seria ver si tienes o no registros resultantes mediante mysql_num_rows($variable_de_tu_consula) y reemplazar la estructura do while por una while , con lo cual tu codigo querdaria asi:

Código php:
Ver original
  1. <?
  2. $dbhost = 'mysql.com';
  3. $dbusername = 'a2lee';
  4. $dbuserpass = 'b6';
  5. $dbname = 'ae';
  6.  
  7. if (isset($_POST['asunto']) && !empty($_POST['asunto']) && isset($_POST['mensaje']) &&
  8.     !empty($_POST['mensaje'])) {
  9.  
  10.  
  11.     $link = mysql_connect("$dbhost", "$dbusername", "$dbuserpass") or die("Error LINK");
  12.     mysql_select_db("$dbname", $link) or die("Error Select");
  13.  
  14.     $result = mysql_query("SELECT nombre,email FROM usuario", $link) or die("Error CONSULTA");
  15.     $rows = mysql_num_rows($result);
  16.     if ($rows > 0) {
  17.         while ($row = mysql_fetch_assoc($result)) {
  18.             $nombre = $row["nombre"];
  19.             $email = $row["email"];
  20.             $asunto = $_POST['asunto'];
  21.             $headers = 'From: miguel' . "\r\n" . 'Reply-To: no-reply' . "\r\n" .
  22.                 'X-Mailer: PHP/' . phpversion();
  23.  
  24.  
  25.             $message = $_POST['mensaje'];
  26.  
  27.             mail($email, $asunto, $message, $headers);
  28.         }
  29.     } else {
  30.         echo "La base de datos esta vacia";
  31.     }
  32.  
  33.  
  34. } else {
  35.  
  36.     echo "Error, no ha introducido todos los datos.";
  37.  
  38. }
  39.  
  40. ?>

Fijate el cambio de estructura a una más adecuada y la forma en que verifico si obtuve registros validos o no.

Saludos!