AGGIORNAMENTO: sembra che il problema derivi dall'istantaneità con la quale viene creata l'immagine da allegare e che lo script di invio email non trova sul server perchè in fase di creazione (parliamo di millisecondi).
Ora, ho provato con lo "sleep" ma non risolvo niente. Come posso ritardare l'invio dell'email?
marco1976
@marco1976
Post creati da marco1976
-
RE: Problema path, forse, per immagine da allegare all'email
-
Problema path, forse, per immagine da allegare all'email
Ciao a tutti, ho un problema dal quale non riesco proprio ad uscirne.
In pratica, devo allegare un immagine (pre-generata dinamicamente tramite imagettftext) che risiede in una sottocartella della mia root. L'email arriva correttamente destinazione ma senza allegato. L'immagine che devo allegare, per controllare che il percorso sia giusto, la "stampo" all'interno dell'email e la visualizzo correttamente. A questo punto penso sia un problema di path. Di seguito, il codice:<?php
$file_name = $codice2.".png";
$attachment = $file_name;$url = 'miodominio.net/cartella1/cartella2/cartella3/''.$attachment; // non essendo utente premium ho dovuto omettere quello che c'è prima di miodominio.net
require("class.phpmailer.php");
$mail=new PHPMailer();
$mail->From="email mittente";
$mail->FromName="nome mittente";
$mail->AddAddress($email); //passata precedentemente tramite _POST
$mail->Subject="Oggetto";
$msg="<html>Ecco, di seguito, l`immagine che deve essere allegata:<p><img src='miodominio.net/cartella1/cartella2/cartella3/$attachment' width='800' height='292'/></html>"; //questa viene visualizzata correttamente - non essendo utente premium ho dovuto omettere quello che c'è prima di miodominio.net
$mail->MsgHTML($msg);
$mail->AddAttachment($url);
$mail->Send();
?>ho provato anche con
$mail->AddAttachment($_SERVER['HTTP_HOST'].'/cartella1/cartella2/cartella3/$attachment' );
ma senza risultati.
Qualcuno mi può aiutare??
-
Risultati query con select option
Salve a tutti, ho una pagina nella quale faccio una select per visualizzare una serie di dati da Mysql.
Ora, vorrei inserire dei menù a discesa (prima di stampare i div con gli echo) contenenti i valori del Db, in modo da dare la possibilità all'utente di "filtrare" i dati della select (nel mio caso, filtri per Società e Città). Ma non riesco a trovare una soluzione. Premettendo che sono un neofitax chi mi può aiutare? Di seguito, il codice:
<?
// variabile dove imposto il numero di record // da mostrare in ogni pagina
$x_pag = 15;// Recupero numero di pagina corrente.
$pag = isset($_GET['pag']) ? $_GET['pag'] : 1;// Controllo valorizzazione $pag e se è numerico. in caso contrario gli assegno valore 1
if (!$pag || !is_numeric($pag)) $pag = 1;// connessione DB
$conn = mysql_connect("host","user","pass");
mysql_select_db("database", $conn);// Uso del mysql_num_rows per contare il totale delle righe presenti all'interno della tabella
$all_rows = mysql_num_rows(mysql_query("SELECT id FROM negozi"));// definisco il numero totale di pagine
$all_pages = ceil($all_rows / $x_pag);// Calcolo da quale record iniziare
$first = ($pag - 1) * $x_pag;// Recupero record per la pagina corrente... utilizzando LIMIT per partire da $first e contare fino a $x_pag
$rs = mysql_query("SELECT * FROM negozi ORDER by ID DESC LIMIT $first, $x_pag");
$nr = mysql_num_rows($rs);
if ($nr != 0){
for($x = 0; $x < $nr; $x++){
$row = mysql_fetch_assoc($rs);
echo "<div class='row'>";
echo "<div class='col-1-3'>";
echo "<div class='wrap-col gallery'>";
echo "<div align='center'><img src='" . $row['url_immagine'] . "'</div>";
echo "<div align='center'><h2>" . $row['societa'] . "</h2></div>";
echo "<div align='center'>" . $row['indirizzo'] . " - " . $row['cap'] . "</div>";
echo "<div align='center'>" . $row['citta'] . " (" . $row['provincia'] . ")</div>";
echo "<div align='center'>" . $row['telefono'] . " " . $row['cellulare'] . "</div>";
echo "<div align='center'>" . $row['email'] . "</div>";
echo "<a class='button' href='" . $row['url_pagina'] . "'>vedi spot</a>";
echo "</div>";
echo "</div>";
echo "</div>";
}
}else{
echo "Nessun record trovato!";
}// Se le pagine totali sono più di 1 stampo i link per andare avanti e indietro tra le diverse pagine!
if ($all_pages > 1){
if ($pag > 1){
echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag - 1) . "">";
echo "pagina precedente</a> ";
}
// faccio un ciclo di tutte le pagine
for ($p=1; $p<=$all_pages; $p++) {
echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . $p . "">";
echo $p . "</a> ";
}
if ($all_pages > $pag){
echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag + 1) . "">";
echo "pagina successiva</a>";
}
}// chiudo connessione
mysql_close($conn);
?>Grazie in anticipo. Marco
-
RE: Problema query per controllo dati
Ho risolto! Ho commesso un'errore "da principiante"...
$sql = "SELECT COUNT(*) FROM richieste WHERE email = '{$email}' || telefono = '{$telefono}'";
al posto di && -->> ||
-
RE: Problema query per controllo dati
@marco1976 said:
Ciao PietroR, il " die('Telefono già presente!!!'); " deve uscire se nel campo telefono viene inserito un numero già presente e nel campo email un indirizzo già esistente. Ho provato anche con AND ma niente...
chiedo venia... operatore logico OR (condizione vera se uno dei due valori è vero)...
-
RE: Problema query per controllo dati
Ciao PietroR, il " die('Telefono già presente!!!'); " deve uscire se nel campo telefono viene inserito un numero già presente e nel campo email un indirizzo già esistente. Ho provato anche con AND ma niente...
-
Problema query per controllo dati
Ciao a tutti, ho un problema con una query SELECT in php. In pratica, prendo dei dati da un form e, prima dell'INSERT faccio un controllo sul campo "telefono" per evitare l'inserimento di dati già presenti:
<?
//dichiaro variabili
$email = $_POST['email'];
$telefono = $_POST['telefono'];
$ip = $_SERVER['REMOTE_ADDR'];//controllo duplicati
$sql = "SELECT COUNT(*) FROM richieste WHERE telefono = '{$telefono}'";
$query = mysql_query($sql) or die(mysql_error());
if (mysql_result($query, 0) > 0) {
die('Telefono già presente!!!');} else {
// ...inserimento dati
?>
Vorrei modificare la query per fare un controllo anche sul campo "email" e, perchè no, sul campo "ip".. ma con una query del genere non riesco:
$sql = "SELECT COUNT(*) FROM richieste WHERE email = '{$email}' && telefono = '{$telefono}'";
Come posso fare??
Ringrazio anticipatamente. -
Ciao
Salve a tutti, mi chiamo Marco ed ho 40 anni.
Mi auguro di trovare e dare consigli a tutta questa bella community!