phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Mandare una mail prima dell'iscrizione

Cerchi una MOD? Chiedi in questo forum.
Questa sezione è supportata dagli utenti del forum, pertanto lo Staff potrebbe non eseguire tali richieste.
Rispondi
digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Mandare una mail prima dell'iscrizione

Messaggio da digreo » 07/11/2012, 18:18

Per evitare la registrazione automatica vorrei che gli utenti mi mandassero prima una mail per richiedermi l'iscrizione!
Quindi, da ucp.php?mode=register e in particolare nel template ucp_agreement.html ho inserito un form per mandarmi la mail.
L'azione del form è verso una pagina creata da me, chiamata send.php e posta nella root del forum; con il seguente codice:

Codice: Seleziona tutto

<?php

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup();

	$email_to="info@digreo.it"; // Indirizzo del destinatario
	$words="Messaggio inviato da DIGREO.it"; // Parole aggiuntive da inserire nell'email
	$name=$_POST['name'];
	$surname=$_POST['surname'];
	$city=$_POST['city'];
	$occupatio=$_POST['occupatio'];
	$emails=$_POST['emails'];
	$request=$_POST['request'];
function res_req(){
if(($name == "")|($surname == "")|($city=="")|($request=="")|($occupatio=="")){
	echo "<center>".$user->lang['WRONG_REQ']."</center><br />";
	echo "<center><b><a href='javascript:history.back();'>".$user->lang['BACK']."</a></b></center>";
}
elseif(($emails!="")&!(ereg("([[:alnum:]\.\-]+)(\@[[:alnum:]\.\-]+\.+)",$emails))){
	echo "<center>".$user->lang['WRONG_EMAIL']."</center><br />";
	echo "<center><b><a href='javascript:history.back();'>".$user->lang['BACK']."</a></b></center>";
}
else{
	if(!(empty($emails))) $from="From: $emails\r\nReply-to: $emails\r\n";
	else{
			$emails="empty@emails.empty";
			$from="From: $emails\r\nReply-to: $emails\r\n";
	 }
		$message=$words."\n\n";
		$message.= "".$user->lang['NAME'].": ".$name."\n";
		$message.="".$user->lang['SURNAME'].": ".$surname."\n";
		$message.="".$user->lang['CITY'].": ".$city."\n";
		$message.="".$user->lang['OCCUPATIO'].": ".$occupatio."\n";
		$message.="".$user->lang['USERNAME'].": ".$request;
		$message=stripslashes($message);
	mail($email_to,$message,$from);
	echo "<center>".$user->lang['POST']." ".$user->lang['POSTED']."!<br />".$user->lang['REQ_STAY']."</center>";
}
}

$template->assign_var('REQUEST_RES', res_req());

page_header($user->lang['SEND_REQ']);

$template->set_filenames(array(
	'body' => 'sendreq.html')
);

page_footer();

?>
Il file template sendreq.html dovrebbe stampare soltanto la var (function).
Il problema è che non manda alcuna mail e sul template non si vede stampato niente!

Dov'è il problema? Come potrei realizzare meglio questa funzione?
Grazie infinite!

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Mandare una mail prima dell'iscrizione

Messaggio da digreo » 10/11/2012, 15:29

Mi dareste una mano per implementare la funzione di inviare una mail prima dell'iscrizione e naturalmente ad una casella di posta che non fa parte del forum (visto che ho disabilitato agli ospiti di inviare le mail agli utenti!)?

Cosa sbaglio nel codice sopra riportato?

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Mandare una mail prima dell'iscrizione

Messaggio da digreo » 17/11/2012, 17:44

Per favore ditemi cosa c'è di sbagliato.. non stampa nulla nonostante gli allert funzionano!

Questo è il codice della pagina action php

Codice: Seleziona tutto

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();

	$dgr_email_to= "info@digreo.it";
	$dgr_words= "Messaggio inviato da DIGREO.it";
	$dgr_name= $_POST['d_name'];
	$dgr_surname= $_POST['d_surname'];
	$dgr_city= $_POST['d_city'];
	$dgr_occupatio= $_POST['d_occupatio'];
	$dgr_emails= $_POST['d_emails'];
	$dgr_request= $_POST['d_request'];
	echo "<script type='text/javascript'>alert('$dgr_name');</script>";
function res_req(){
	if(($dgr_name == "") | ($dgr_surname == "") | ($dgr_city == "") | ($dgr_occupatio == "") | ($dgr_request == "")){
		echo "".$user->lang['WRONG_REQ']."<br />";
		echo "<b><a href='javascript:history.back();'>".$user->lang['BACK']."</a></b>";
		echo "<script type='text/javascript'>alert('come');</script>";
	}
	elseif(($dgr_emails != "") &! (ereg("([[:alnum:]\.\-]+)(\@[[:alnum:]\.\-]+\.+)", $dgr_emails))){
		echo "".$user->lang['WRONG_EMAIL']."<br />";
		echo "<b><a href='javascript:history.back();'>".$user->lang['BACK']."</a></b>";
		echo "<script type='text/javascript'>alert('eccome');</script>";
	}
	else{
		if(!(empty($dgr_emails))) $dgr_from="From: $emails\r\nReply-to: $emails\r\n";
		else{
			$dgr_emails="empty@emails.empty";
			$dgr_from="From: $dgr_emails\r\nReply-to: $edgr_mails\r\n";
		}
		$dgr_message= $dgr_words."\n\n";
		$dgr_message.= "".$user->lang['NAME'].": ".$dgr_name."\n";
		$dgr_message.= "".$user->lang['SURNAME'].": ".$dgr_surname."\n";
		$dgr_message.= "".$user->lang['CITY'].": ".$dgr_city."\n";
		$dgr_message.= "".$user->lang['OCCUPATIO'].": ".$dgr_occupatio."\n";
		$dgr_message.= "".$user->lang['USERNAME'].": ".$dgr_request;
		$dgr_message= stripslashes($message);
		mail($dgr_email_to,$dgr_message,$dgr_from);
		echo "".$user->lang['POST']." ".$user->lang['POSTED']."!<br />".$user->lang['REQ_STAY']."";
		echo "<script type='text/javascript'>alert('eccomemai');</script>";
		meta_refresh(3, "www.digreo.it");
	}
}
$registrami= res_req();
$template->assign_var('REQUEST_RES', $registrami);
page_header($user->lang['SEND_REQ']);
$template->set_filenames(array(
	'body' => 'sendreq.html')
);
page_footer();
?>
Questo è il form e naturalmente nel template c'è il richiamo alla variabile_template {REQUEST_RES}

Codice: Seleziona tutto

<form action="{BOARD_URL}other/send.php" method="post">
	<div class="panel">
		<div class="inner">
		<h2>{SITENAME} - {L_WORDKEY_ASK}</h2>

		<fieldset class="fields2">
		<!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
		<!-- IF L_REG_COND -->
			<dl><dd><strong>{L_REG_COND}</strong></dd></dl>
		<!-- ENDIF -->
		<dl>
			<dt><label>{L_NAME}:</label></dt>
			<dd><input name="d_name" id="d_name" type="text" style="border:1px solid;" size="35" /></dd>
		</dl>
		<dl>
			<dt><label>{L_SURNAME}:</label></dt>
			<dd><input name="d_surname" id="d_surname" type="text" style="border:1px solid;" size="35" /></dd>
		</dl>
		<dl>
			<dt><label>{L_CITY}:</label></dt>
			<dd><input name="d_city" id="d_city" type="text" style="border:1px solid;" size="45" /></dd>
		</dl>
		<dl>
			<dt><label>{L_OCCUPATION}:</label></dt>
			<dd><input name="d_occupatio" id="d_occupatio" type="text" style="border:1px solid;" size="35" /></dd>
		</dl>
		<dl>
			<dt><label>{L_EMAIL_ADDRESS}:</label></dt>
			<dd><input name="d_emails" id="d_emails" type="text" style="border:1px solid;" size="35" /></dd>
		</dl>
		<dl>
			<dt><label>{L_USERNAME}:</label></dt>
			<dd><textarea name="d_request" id="d_request" style="border:1px solid; width: 400;" onclick="this.value=''">{L_WORDKEY}</textarea></dd>
		</dl>
		<hr />
		</fieldset>
	</div>

	<div class="panel">
		<div class="inner">
		<fieldset class="submit-buttons">
			<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
			<input type="submit" name="submit" id="submit" value=" I N V I @ " class="button1" />
		</fieldset>
	</div>
	</form>

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Mandare una mail prima dell'iscrizione

Messaggio da digreo » 23/11/2012, 12:51

UP :(

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Mandare una mail prima dell'iscrizione

Messaggio da digreo » 08/12/2012, 19:21

UP!

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Mandare una mail prima dell'iscrizione

Messaggio da digreo » 24/12/2012, 0:31

HEEELP! Non riesco a risolvere questo problema.

Avatar utente
Shanks
phpBB Expert
phpBB Expert
Messaggi: 485
Iscritto il: 30/03/2011, 23:47
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.27
Database: MySQL(i) 5.5.34-cll
Contatta:

Re: Mandare una mail prima dell'iscrizione

Messaggio da Shanks » 26/12/2012, 13:06

Ciao, non è più semplice se attivi l'attivazione degli utenti tramite admin?
Immagine

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Mandare una mail prima dell'iscrizione

Messaggio da digreo » 26/12/2012, 19:11

No perché mi arrivano una infinità di richieste automatiche, nonostante attuo diversi modi per evitarle.

Un'aiutino sul codice? :P
Grazie infinite!

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Mandare una mail prima dell'iscrizione

Messaggio da digreo » 07/01/2013, 17:22

Risolto, c'era un errori plurimi di nome della variabile:
if(!(empty($dgr_emails))) $dgr_from="From: $emails\r\nReply-to: $emails\r\n";
else{
$dgr_emails="empty@emails.empty";
$dgr_from="From: $dgr_emails\r\nReply-to: $edgr_mails\r\n";
}

...Sto esaurito!

Ho risolto e cambiato tutto, eliminando anche l'assegnazione della variabile (in quanto ho utilizzato il trigger error!) in questa maniera:

Codice: Seleziona tutto

	$redirect_url=$_SERVER['HTTP_REFERER'];
	$dgr_email_to= "info@dominio.it"; // Indirizzo del destinatario
	$dgr_words= "Messaggio inviato da"; // Parole aggiuntive da inserire nell'email
	$dgr_name= $_POST['d_name'];
	$dgr_surname= $_POST['d_surname'];
	$dgr_city= $_POST['d_city'];
	$dgr_occupatio= $_POST['d_occupatio'];
	$dgr_request= $_POST['d_request'];
	$dgr_emails= $_POST['d_emails'];
if(($dgr_name == "") || ($dgr_surname == "") || ($dgr_city == "") || ($dgr_occupatio == "") || ($dgr_request == "")){
	meta_refresh(4, $redirect_url);
	trigger_error($user->lang['WRONG_REQ'].'<br /><b><a href="'.$redirect_url.'">'.$user->lang['BACK_TO_PREV'].'</a></b>');
}
elseif(($dgr_emails == "") && (ereg("([[:alnum:]\.\-]+)(\@[[:alnum:]\.\-]+\.+)", $dgr_emails))){
	meta_refresh(4, $redirect_url);
	trigger_error($user->lang['WRONG_EMAIL'].'<br /><b><a href="'.$redirect_url.'">'.$user->lang['BACK_TO_PREV'].'</a></b>');
}
else{
	if(!(empty($dgr_emails))) $dgr_from="From: $dgr_emails\r\nReply-to: $dgr_emails\r\n";
	else{
		$dgr_emails="empty@emails.empty";
		$dgr_from="From: $dgr_emails\r\nReply-to: $dgr_emails\r\n";
	}
	$dgr_subject= $dgr_words." ".$dgr_surname." ".$dgr_name;
	$dgr_message= "".$user->lang['NAME'].": ".$dgr_name."\n";
	$dgr_message.= "".$user->lang['SURNAME'].": ".$dgr_surname."\n";
	$dgr_message.= "".$user->lang['CITY'].": ".$dgr_city."\n";
	$dgr_message.= "".$user->lang['OCCUPATION'].": ".$dgr_occupatio."\n";
	$dgr_message.= "".$user->lang['USERNAME'].": ".$dgr_request;
	$dgr_message= stripslashes($dgr_message);
	mail($dgr_email_to, $dgr_subject, $dgr_message, $dgr_from);
	meta_refresh(8, append_sid("http://www.digreo.it"));
	trigger_error($user->lang['POST']." ".$user->lang['POSTED']."!<br />".$user->lang['REQ_STAY']);
}

Rispondi

Torna a “Richiesta MOD”

Chi c’è in linea

Visitano il forum: Nessuno e 45 ospiti