Script 17.5 Forum Threads

Output

Ajouter des adresses a PHP List depuis un formulaire

Silje (29-Oct-11 4:43 AM)
J'utilise PHP List. J'ai un formulaire contact avec une case à cocher permettant de choisir de s'abonner à une newsletter. Je traite ce formullaire en PHP. Existe-t-il un moyen au moment où je traite le formulaire d'ajouter la personne dans ma liste de diffusion PHP List ? Je suppose que le problème n'est pas compliqué mais je n'ai pas encore trouvé comment faire...


kiwi (31-Oct-11 12:06 PM)
Dans ce genre de problématiques le mieux est de : a/ regarder de quelle manière php list gère les abonnés dans la base ( en gros, regarder la structure de la table ). b/ créer une fonction qui ajoute manuellement les données de votre formulaire dans la ou les tables mysql utilisée(s) par php list ( en se méfiant des doublons : est ce que cette adresse est déjà dans la liste ? ) c/ faire un ou plusieurs tests...


troutster (27-Dec-13 9:11 PM)
french test utilisée


You must be logged in to post messages.

Source
<?php # Script 17.5 - thread This page shows the messages in a thread.
include (CHAPTER_PATH.'/'.$chapter.'/includes/17.1.php');

// Check for a thread ID...
$tid = FALSE;
if (isset($_GET['tid']) && filter_var($_GET['tid'], FILTER_VALIDATE_INT, array('min_range' => 1)) ) {
	
	// Create a shorthand version of the thread ID:
	$tid = $_GET['tid'];
	
	// Convert the date if the user is logged in:
	if (isset($_SESSION['tz'])) {
		$posted = "CONVERT_TZ(p.posted_on, 'UTC', '{$_SESSION['tz']}')";
	} else {
		$posted = 'p.posted_on';
	}

	// Run the query:
	$q = "SELECT t.subject, p.message, username, DATE_FORMAT($posted, '%e-%b-%y %l:%i %p') AS posted FROM mb_threads AS t LEFT JOIN mb_posts AS p USING (thread_id) INNER JOIN mb_users AS u ON p.user_id = u.user_id WHERE t.thread_id = $tid ORDER BY p.posted_on ASC";
	$r = mysqli_query($link, $q);
	if (!(mysqli_num_rows($r) > 0)) {
		$tid = FALSE; // Invalid thread ID!
	}
	
} // End of isset($_GET['tid']) IF.

if ($tid) { // Get the messages in this thread...
	
	$printed = FALSE; // Flag variable.

	// Fetch each:
	while ($messages = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

		// Only need to print the subject once!
		if (!$printed) {
			echo "<h2>{$messages['subject']}</h2>\n";
			$printed = TRUE;
		}
	
		// Print the message:
		echo "<p>{$messages['username']} ({$messages['posted']})<br />{$messages['message']}</p><br />\n";

	} // End of WHILE loop.
		
	// Show the form to post a message:
	include (CHAPTER_PATH.'/'.$chapter.'/includes/17.6.php');
	
} else { // Invalid thread ID!
	echo '<p>This page has been accessed in error.</p>';
}

include (CHAPTER_PATH.'/'.$chapter.'/includes/17.2.php');
?>