Ma i dati relativi alle mail non arrivano al secondo file.... se faccio echo $mail non mi restituisce nulla...... non funge![]()
Ma i dati relativi alle mail non arrivano al secondo file.... se faccio echo $mail non mi restituisce nulla...... non funge![]()
O non ci stiamo capendo per nulla...ho hai le idee un po confuse sull'invio di dati in GET / POST via form.
printando $mail non avrai MAI nessun risultato in quanto le variabili devi prenderle dall'array relativo ($_GET o $_POST). In questo caso ti conviene inviare l'indice delle mail selezionate e poi renviare in base agli indici.
Ora devo scappare...dopo se posso ti faccio un esempio perchè detto cosi forse non si capisce cosa intendo
![]()
Hai ragione ho le idee un pò confuse.... :berto:
E' proprio l'invio dell'indice che non riesco a fare.....cmq se potessi farmi un esempiuccio te ne sarai gratissima.... quando e se avrai tempo...
Ti ringrazio cmq moltissimo per le tue risposte![]()
Secondo me potresti fare cosi:
newsletter.php
checkNewsletter.phpCodice PHP:
<?php
session_start();
include("../config/config.inc.php");
?>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<form name="newsletter" action="checkNewsletter.php" method="post">
<table width="100%" border="0">
<tr>
<td>
<table width="45%" border="0" align="center" cellpadding="8" cellspacing="0">
<tr>
<td>Oggetto</td>
</tr>
<tr>
<td> <input type="text" name="oggetto" size="65"> </td>
</tr>
<tr>
<td>Testo</td>
</tr>
<tr>
<td><textarea name="testo" cols="60" rows="10"></textarea></td>
</tr>
<tr>
<td>
<?php
$oggetto=$_POST['oggetto'];
$testo=$_POST['testo'];
$query ="SELECT mail FROM utenti ORDER BY mail ASC";
$risultato = mysql_query($query);
$n_mail = mysql_num_rows($result);
$i = 1;
while ($row = mysql_fetch_array($risultato))
{
echo $row['mail'] . "<input type=checkbox name=check".$i.">
\n";
$i++;
}
?>
<input type="hidden" name="n_mail" value="<?php print($n_mail); ?>">
</td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Procedi" action="checkNewsletter.php"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
Cosi dovrebbe fare esattamente quello che vuoi tu.Codice PHP:
<?php
session_start();
include("../config/config.inc.php");
$oggetto=$_POST['oggetto'];
$testo=$_POST['testo'];
$n_mail = $_POST['n_mail'];
for($i=1;$i<=$n_mail;$i++)
{
$mail = $_POST['check'.$i];
mail($mail, $oggetto, $testo);
}
?>
Se non capisci qualcosa sai dove trovarmi^^
![]()
Grazie Drugoperò ho sempre il solito errore....
Credo che alla funzione mail non arrivi il parametro mail..... almeno penso voglia dire che non riesce a spedire la mail perchè non trova i destinatari, mi era già accaduto una volta. :master:Warning: mail() [function.mail]: SMTP server response: 554 DATA Transaction failed, no recipients given
Si scusa...hai ragione.
Non ho ri-recuperato gli indirizzi dal db:
checkNewsletter.php
Ecco..cosi dovrebbe essere a posto^^Codice PHP:
<?php
session_start();
include("../config/config.inc.php");
$oggetto=$_POST['oggetto'];
$testo=$_POST['testo'];
$n_mail = $_POST['n_mail'];
$query ="SELECT mail FROM utenti ORDER BY mail ASC";
$risultato = mysql_query($query);
$i=1;
while($row = mysql_fetch_array($result))
{
if($_POST['check'.$i] == 1)
{
mail($row['mail'], $oggetto, $testo);
}
$i++;
}
?>
Non lasciare spazi tra $mail = e $_REQUEST['mail'], scrivi:Praticamente vorrei recuperare i dati nel primo e poterli utilizzare nel secondo.
Pensavo fosse sufficiente scrivere:
$mail = $_REQUEST['mail'];
echo $mail;
Codice PHP:
$mail=$_REQUEST['mail'];
Adesso non mi da più l'errore ma non spedisce neanche la mail.Originariamente inviato da Il_Drugo
Si scusa...hai ragione.
Non ho ri-recuperato gli indirizzi dal db:
checkNewsletter.php
Ecco..cosi dovrebbe essere a posto^^Codice PHP:
<?php
session_start();
include("../config/config.inc.php");
$oggetto=$_POST['oggetto'];
$testo=$_POST['testo'];
$n_mail = $_POST['n_mail'];
$query ="SELECT mail FROM utenti ORDER BY mail ASC";
$risultato = mysql_query($query);
$i=1;
while($row = mysql_fetch_array($result))
{
if($_POST['check'.$i] == 1)
{
mail($row['mail'], $oggetto, $testo);
}
$i++;
}
?>
Forse non mi da più errore perchè probabilmente la condizionenon la trova mai vera e quindi non esegue proprio la funzione......if($_POST['check'.$i] == 1)
Sto impazzendo con questa cosa
![]()
![]()
![]()
prova con:
Codice PHP:
if($_POST['check'.$i] == "on")
![]()
Grazie Drugo funzionaaaaaaaaaaaa!!!!!!!!!!!!!!!!!!!!!!!!
Funziona anche se do al campo check un value=1
In questo caso si può lasciare ($_POST['check'.$i] == 1)
Grazie davvero di cuore![]()