WebSite X5Help Center

 
Marco Ricchezza
Marco Ricchezza
User

Mainlist con errore  it

Autore: Marco Ricchezza
Visite 951, Followers 2, Condiviso 0  

Salve ho seguito le istruzioni che sono nelle vostre bellissime spiegazioni ed aiuti .

Ho creato la pagina maillist come protetta e un altra pagina inviamail.php come nelle spiegazioni riportate sotto.

poi quando vado a fare la prova vado nella pagina maillist mi chiede la l'email e la password la metto e accedo alla pagina poi inserisco oggetto e la descrizione e premo il tasto invio .

da quello che ce scritto nelle spiegazioni tutte le email caricate nel punto 1 impostazioni->Gestioni Accessi-> e dentro gli utenti ci sono tutte le login con le password e l'email.

io ricevo sempre l'errore : Fatal error: Call to a member function fetch_assoc() on boolean in /web/htdocs/www.unicondominio.eu/home/inviamail.php on line 55

Instruzioni seguite nel post : https://helpcenter.websitex5.com/it/post/169375

Io utilizzo questo codice che funziona solo per gli utenti registrati in modo automatico, cioè presenti sul database.

Nella pagina modulo per l'invio mail (che deve essere sotto login) in un oggetto codice html inserisci questo codice:

<table><td><td center><b>Mailing list</b><tr>
 </tr><tr><td>&nbsp;</tr>
</tr><form action="inviamail.php" method="POST" enctype="multipart/form-data">
<tr><td align=right>Oggetto:&nbsp;</td>
<td align=left><input type="text" size="30" name="oggetto" value="" /></td>
</tr><td>&nbsp;<tr >
<tr><td><br><td><tr>
<td align=right>Messaggio:&nbsp;</td>
<td align=left><textarea cols="40" rows="10" name="messaggio"></textarea></td>
<tr><td> <td align=left ><input type="submit" value="Invia" /> <input type="reset" value="Reset">
</tr></table></form>

in unaltra pagina che chiamerai inviamail.php (quindi deve essere php controlla nella propietà pagina l'estensione e il nome del file generat!) inserisci quest'altro codice:

<?php
require_once("res/x5engine.php");
require_once("res/access.inc.php");
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
$realname=$user['realname'];
$qchiave   = array_keys($imSettings['databases']);
$qdati     = getDbData($qchiave[0]);
$host     = $qdati['host'];
$db_user     = $qdati['user'];
 $db_psw = $qdati['password'];
$db_name = $qdati['database'];
$qfolder   = $imSettings['general']['public_folder'];
$tabella = $imSettings['access']['dbtable'];
$db =  new mysqli ($host, $db_user, $db_psw, $db_name);
$db ->autocommit(FALSE);
if ($db->connect_error) { die("Connessione fallita: " . $db->connect_error); }
$sql = "SELECT * FROM $tabella WHERE  realname ='$realname'";
$result = $db->query($sql);
$row=$result->fetch_assoc();
$mittente = $row['email'];
$sql = "SELECT * FROM $tabella";
$result = $db->query($sql);
if (!$result) {die("Errore nella query $query: " . $db->connect_error);}
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
$mail_headers = "From: " . $realname .  " <" .  $mittente . ">\r\n";
$mail_headers .= "Reply-To: " .  $mittente . "\r\n";
$mail_headers .= "X-Mailer: PHP/" . phpversion();
$mail_headers .= "MIME-Version: 1.0\n";                                        
$mail_headers .= "Content-type: text/html; charset=UTF-8\n";
while ($row = $result->fetch_assoc() )
{    $nome         =$row['realname'];
 $destinatario = htmlentities($row['email']);
// COSTRUIAMO IL CORPO DELLA MAIL
$mail_body =  $messaggio  . "<BR><BR>" . "\r\n";
if(mail($destinatario, $oggetto, stripslashes($mail_body), $mail_headers ))
{
echo "<p>Mail inviata a ". $nome."</p>";
}else{
echo "<p>Errore!</p>";
} }
?>

Postato il
4 RISPOSTE - 1 CORRETTO
Giorgio C.
Giorgio C.
User

Questo script è stato creato e funziona con la versione 13 e non è testato per la 19 e funziona solo per gli utenti registrati in modo automatico, cioè presenti sul database.

Dall'errore postato sembra che il database non sia popolato

Ciao

Leggi di più
Postato il da Giorgio C.
Incomedia
Riccardo P.
Incomedia

Buongiorno Marco,

mi spiace ma su codice esterno e modifiche ai file purtroppo non posso aiutarti perchè va al di la dell'assistenza su WebSIte X5. Dovrai attendere aiuti da parte di altri utenti della community.

Leggi di più
Postato il da Riccardo P.
Marco Ricchezza
Marco Ricchezza
User
Autore

grazie mille siete sempre fortissimi :-)

Leggi di più
Postato il da Marco Ricchezza
Claudio D.
Claudio D.
Moderator
Utente del mese IT

@Marco ... 

se hai risolto chiudi il post con corretto , cioè cliccando sulla spunta verde sotto la risposta che ti ha risolto...

grazie.

Leggi di più
Postato il da Claudio D.