webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Webbutveckling > PHP

PHP Här diskuteras allt som har med scriptspråket PHP att göra.

Svar
 
Trådverktyg Visningsalternativ
Äldre 2012-07-15, 17:08   #1
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Skicka mail till alla i tabellen email

Hej

Jag får inte rätt på det här
Jag vill hämta alla email adresser från min databas och skicka mail till alla samtidigt, men jag får inte rätt på det. Jag får inget felmeddelande någon stans, men det kommer inga mail

Någon snäll som vill hjälpa mig och se vad jag gjort för galet


Kod:
<?

$hamta = "SELECT * FROM adresser WHERE email"; 
$resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!"); 


while($rad = mysql_fetch_array($resultat)) 


$today = date("d M, Y");
$to = "$_POST[email]";
$from = "Mig";
$subject = "email till alla";
$forminfo =
"Informationssidan är uppdaterad:\n
$_POST[namn]\n
http://sida.se/medlem/\n
Mailet går inte att svara på.

Skickat den: $today\n\n";

$formsend = mail("$to", "$subject", "$forminfo", "From: $from\r\nReply-to:$from");
?>
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-15, 17:43   #2
noshornin
Medlem
 
Registrerad: 2008-08-23
Ort: haninge
Inlägg: 662
Lösningar: 11
Det verkar som du hämtar adresserna från en databas? Men du skriver:
Kod:
$_post['email']
Alltså du försöker hämta ett värde från ett formulär.

Varför skriver du inte bara ut alla variabler med echo och ser om de stämmer. Sen kan du exempelvis skriva:
Kod:
if(mail(....)){
echo "brevet skickades";
}else{
echo"brevet skickades inte";
}
för att se vilka adresser som inte gick att skicka till osv...
noshornin besöker inte forumet just nu   Svara med citat
Äldre 2012-07-15, 18:11   #3
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Så här gjorde jag och då skrev den ut mailadresser
Kod:
<?
require 'conn.php';


$sql = mysql_query("SELECT * FROM adresser ORDER BY namn ASC LIMIT 50"); 
while ($rad = mysql_fetch_array($sql))




 { 
   $namn = $rad['namn']; 
   $instrument = $rad['instrument'];
   $telefonh = $rad['telefonh']; 
   $telefonm = $rad['telefonm']; 
   $email = $rad['email']; 
   $date = $rad['datum']; 


   echo($rad["email"]);
   
} 


?>
men när jag la till

Kod:
mail($rad['email'], $subject, $message, $headers);
så skickades inget mail

Senast redigerad av maweer, 2012-07-15 klockan 18:47
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-15, 22:02   #4
noshornin
Medlem
 
Registrerad: 2008-08-23
Ort: haninge
Inlägg: 662
Lösningar: 11
Först så sparar du ju $rad['email'] i variabeln $email. Så du borde ju använda den variabeln och skriva:

Kod:
mail($email, $subject, $message);
Sen för att se om mejlet skickas eller inte så kan du skriva:
Kod:
if(mail($email, $subject, $message)){
   echo "skickades";
}else{
   echo "skickades inte";
}
Istället för "mail($email, $subject, $message);"

Sen har du några variabler som heter $subject, $message, $headers? Headers verkar vara "optional" alltså att den inte behövs om du inte vill. Du kan dock använda den för att skriva vem som skickat, cc, bcc osv... De andra två kanske i allafall måste vara definierade?

Lägg till:
Kod:
$subject="ett ämne";
$message="ett meddelande";
innan mail kommandot.

Sen så kan mejlet hamna i skräpposten så du kan ju kolla där? En annan sak du bör kolla är ju att du har skrivit in rätt emailadress i databasen
noshornin besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 10:17   #5
Pedda
Forumvärd
 
Registrerad: 2000-06-28
Ort: Universums mittpunkt
Inlägg: 4 788
Lösningar: 211
Första frågan:
Var kör du scriptet? På din egna dator eller ett webbhotell?
Om det är på din egna dator, har du konfigurerat PHP för att kunna skicka mail? D.v.s ställt in smtp mm.
__________________
Om jag var blygsam,skulle jag vara perfekt
><((((º>
Pedda besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 11:04   #6
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
@ noshornin: Det blev "skickades inte"
Hahaha jodå, jag har skrivet rätt mailadress, det har jag kollat 788 gånger
Men det lustiga är att det skrivs ut när jag skriver echo($rad["email"]);

@ Pedda: Jag kör det på ett webbhotell, så det hoppas jag att jag slipper

Börja misstänka väldigt skarpt att jag har gjort något helt konstigt i koden
För hur jag än gör så står det "skickades inte"

Kod:
<?
require 'conn.php';


$sql = mysql_query("SELECT * FROM adresser ORDER BY namn ASC LIMIT 50"); 
while ($rad = mysql_fetch_array($sql))




 { 
   $namn = $rad['namn']; 
   $instrument = $rad['instrument'];
   $telefonh = $rad['telefonh']; 
   $telefonm = $rad['telefonm']; 
   $email = $rad['email']; 
   $date = $rad['datum']; 

$subject="ett ämne";
$message="ett meddelande";


mail($email, $subject, $message);
   
} 

if(mail($email, $subject, $message)){
   echo "skickades";
}else{
   echo "skickades inte";
}

?>

Senast redigerad av maweer, 2012-07-16 klockan 12:17
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 12:42   #7
noshornin
Medlem
 
Registrerad: 2008-08-23
Ort: haninge
Inlägg: 662
Lösningar: 11
Kod:
<?
require 'conn.php';


$sql = mysql_query("SELECT * FROM adresser ORDER BY namn ASC LIMIT 50"); 
while ($rad = mysql_fetch_array($sql))
{ 
   $namn = $rad["namn"]; 
   $instrument = $rad["instrument"];
   $telefonh = $rad["telefonh"]; 
   $telefonm = $rad["telefonm"]; 
   $email = $rad["email"]; 
   $date = $rad["datum"]; 

   $subject="ett ämne";
   $message="ett meddelande";

   if(mail($email, $subject, $message)){
      echo "skickades";
   }else{
      echo "skickades inte";
   }
}
?>
tänkte jag

Nu la du if mail grejen utanför loopen. Alltså mail() funktionen är en boolean funktion. När den körs så returneras true eller false.

En annan sak jag såg nu var att du skriver $rad['datum']. Med ' istället för ". Vet inte om det spelar någon roll men du kan ju prova koden ovanför och se...
noshornin besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 13:16   #8
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Aha du tänker så

Tyvärr så blev det inte skickat

Alltså, egentligen så är det ju endast mailadressen jag behöver, så jag förstår faktiskt inte själv varför JAG hämtar all information
Borde det inte räcka med att jag skriver

Kod:
<?
require 'conn.php';


$sql = mysql_query("SELECT * FROM adresser ORDER BY namn ASC LIMIT 50"); 
while ($rad = mysql_fetch_array($sql))
{ 
 
   $email = $rad["email"]; 

   $subject="ett ämne";
   $message="ett meddelande";

   if(mail($email, $subject, $message)){
      echo "skickades";
   }else{
      echo "skickades inte";
   }
}
?>
Fast, det hjälpte inte ändå
Ja....jag antar att du märker att jag inte är så duktig på detta
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 13:39 Markerad som löst av maweer   #9
noshornin
Medlem
 
Registrerad: 2008-08-23
Ort: haninge
Inlägg: 662
Lösningar: 11
Jo det räcker.

Men om du skriver
Kod:
echo $email;
nu, skrivs mejladressen ut då?
noshornin besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 14:32   #10
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Jodå
Jag la den i

Kod:
}else{
      echo "skickades inte";
      echo $email;
   }
och då fick jag skickades inte och adressen utskriven
och lika dant blev det om jag la den efter den allra sista "måsvingen"
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 15:09   #11
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Men vänta...förlåt!

Det skickades ju...

Skall jag plocka bort if-satsen eller skall jag ta bort alla echo
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 15:57   #12
noshornin
Medlem
 
Registrerad: 2008-08-23
Ort: haninge
Inlägg: 662
Lösningar: 11
Nice att det löste sig. Du kan ju göra som du vill. Jag skulle behåll if-satsen och utskriften för att se om det blir något fel i framtiden.

Du kan även markera det inlägget som hjälpte dig att lösa problemet som lösning i den här tråden. För om det var mitt inlägg så får jag ett extra poäng på forumet
noshornin besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 16:02   #13
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Alltså du skall ha stort tack för hjälpen
It made my day!

Hahahaha men klart att du skall ha extra poäng för det
Ännue en gång tack
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 16:31   #14
noshornin
Medlem
 
Registrerad: 2008-08-23
Ort: haninge
Inlägg: 662
Lösningar: 11
yeay tack för poängen
noshornin besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 18:47   #15
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Alltså förlåt det här vad det skummaste jag har varit med om

Jag har inte gjort något med koden eller rört den, men helt plötsligt så funkar det inte...märkligt värre

Det blir som innan att den skriver ut på skärmen att det inte och skickade och den skriver ut mailadressen

Kod:
<?
require 'conn.php';


$sql = mysql_query("SELECT * FROM adresser ORDER BY namn ASC LIMIT 50"); 
while ($rad = mysql_fetch_array($sql))
{ 
 
   $email = $rad["email"]; 

   $subject="ett ämne";
   $message="ett meddelande";

   if(mail($email, $subject, $message)){
      echo "skickades";
   }else{
      echo "skickades inte";

   }
      
}

echo $email;
?>
Kan det vara webbhotellet som spökar eller har jag lyckats att skriva dit något i koden som jag inte ser omedvetet
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 19:56   #16
noshornin
Medlem
 
Registrerad: 2008-08-23
Ort: haninge
Inlägg: 662
Lösningar: 11
Det där kan omöjligt vara fel om epostadressen skrivs ut. Tror nog det kan vara ditt webbhotell. Vilket webbhotell har du? Försök mejla dem och fråga...
noshornin besöker inte forumet just nu   Svara med citat
Äldre 2012-07-16, 20:08   #17
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Ja jag håller med dig
Och iom att det funkade klockrent innan så!
Jag har b-one som webbhotell, får nog göra det!

Jag får se i morgon om det har löst sig
Stort tack i alla fall
maweer besöker inte forumet just nu   Svara med citat
Äldre 2012-07-17, 11:04   #18
maweer
Medlem
 
Registrerad: 2012-07-15
Inlägg: 120
Lösningar: 0
Fick just ett svar på varför det slutade att fungera helt plöstligt igår.

Man måste ange en epostadress under sin domän hos one.com, annars är
begränsningen cirka 20 mail per dygn. Och det hade inte jag gjort!

Tänkte jag skriver det ifall det kan hjälpa någon
maweer besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Webbutveckling > PHP

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är av
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 12:06.


Powered by: vBulletin Version 3.8.6
Copyright © webForum