J'ai la fonction suivante qui envoie un message aux utilisateurs sélectionnésPHP concaténer à la variable
function send_msg($user_id, $title, $message){
$args = array('recipients' => $user_id, 'sender_id' => bp_loggedin_user_id(), 'subject' => $title, 'content' => $message);
$thread_id = messages_new_message1($args);
messages_delete_thread($thread_id,bp_loggedin_user_id());
}
Ceci est invoqué par le code suivant qui affiche la forme
// Get data from form
$body_input=isset($_POST['body_input'])?$_POST['body_input']:'';
$subject_input=isset($_POST['subject_input'])?$_POST['subject_input']:'';
// Loop sending a message for each recipient
foreach(array_column($user_ids, 'user_id') as $user_N) {
send_msg($user_N, $body_input, $subject_input);
}
Je veux modifier le sujet/titre et le corps du message avant send_msg
J'ai essayé
$args = array('recipients' => $user_id, 'sender_id' => bp_loggedin_user_id(), 'subject' => $title.'some text', 'content' => $message);
qui fonctionne, mais lorsque je tente
$args = array('recipients' => $user_id, 'sender_id' => bp_loggedin_user_id(), 'subject' => $title.'some text', 'content' => $message.'some text');
Il envoie le message deux fois, l'une avec title
et body
et une autre avec title.what_I_append
et body.what_I_append
J'ai aussi essayé de cette façon, mais cela ne postez pas
$body_input=isset($_POST['body_input'])?$_POST['body_input']:''.'some text to append';
Comment concaténer correctement les variables utilisées pour le sujet et le corps?
Où appelez send_msg() vous? Juste avant d'appeler, ajoutez vos données à $ subject, $ message. Passez ensuite les valeurs déjà ajoutées. – JParkinson1991
@ JParkinson1991 Serait-ce comme '$ body_input = isset ($ _ POST ['body_input'])? $ _ POST ['body_input']: '';' alors '$ body_input = $ body_input.'some text''? – redditor
@ JParkinson1991 En outre, un autre a répondu alors supprimé ''content' =>" {$ message} du texte "' qui envoie un message mais REMPLACE l'entrée du message par 'du texte' – redditor