Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Clovis Borloph

[Resolvido] Checkbox dinâmico. PHP!

Recommended Posts

Estou com um problema com PHP no Dreamweaver... preciso de uma ajudinha aqui por favor.

 

Tenho uma tabela com um formulario, no formulario tenho 3 campos, entre estes campos tenho um campo com um checkbox que recebe o valor ID dos emails registrados no banco de dados. esta tabela tem um "repeat region" que me lista todos os emails que estao no banco de dados.

 

Tenho uma outra pagina que recebe estes dados, e me imprime eles, filtrando pela ID que ela recebe do checkbox.

 

Meu problema é que quando seleciono mais de 1 checkbox e mando para a próxima página, ele so me exibe 1 resultado.

Tenho um repeat region na segunda página para imprimir todos os emails que eu passar com as ids do checkbox... mas ele so imprime 1.

 

Trabalhando com o formulario no modo GET eu tenho esta URL:

/email_script.php?acao=ir&email=40&email=39

(com POST dá o mesmo problema)

 

Como eu disse, note que o formulario esta enviando dois parametros "email" (mesmo nome) com valores diferentes...

então na hora de pegar os dados na próxima página ele so pega um parametro. Entendi que ele nao está aceitando dois parametros com mesmo nome, mesmo com valores diferentes... Já procurei muito na web e nada que funcione.

Alguma dica para solucionar este problema?

 

Vou postar meu código para ver se dá para me ajudar.

 

página1:

<form action="/ad_min/email_script.php" method="post" name="formulario_de_mensagem" id="formulario_de_mensagem"> 
<input type="submit" name="acao" id="acao" value="IR" /> <BR/> 
<input name="email[]" type="checkbox" value="<?php echo $row_rs_lista_emails['usuario_news_id']; ?>" /> 
</form>

página2:

<?php session_start(); virtual('meu_arquivo_de_conexao.php'); ?> 
<?php 
if (!function_exists("GetSQLValueString")) { 
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{ 
if (PHP_VERSION < 6) { 
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; 
} 

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); 

switch ($theType) { 
case "text": 
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
break; 
case "long": 
case "int": 
$theValue = ($theValue != "") ? intval($theValue) : "NULL"; 
break; 
case "double": 
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; 
break; 
case "date": 
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
break; 
case "defined": 
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; 
break; 
} 
return $theValue; 
} 
} 

$colname_rs_pega_email = "-1"; 
if (isset($_POST['email'])) { 
$colname_rs_pega_email = $_POST['email']; 
} 
mysql_select_db($database_default, $default); 
$query_rs_pega_email = sprintf("SELECT usuario_news_id, usuario_news_email FROM usuario_news WHERE usuario_news_id = %s", GetSQLValueString($colname_rs_pega_email, "int")); 
$rs_pega_email = mysql_query($query_rs_pega_email, $default) or die(mysql_error()); 
$row_rs_pega_email = mysql_fetch_assoc($rs_pega_email); 
$totalRows_rs_pega_email = mysql_num_rows($rs_pega_email); 
?> 

Gostaria de mudar para poder fazer o php aceitar todos os valores dos checkboxs... fiquei perdido nesta parte, sério, ta osso... me ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No navegador ele me da este erro:

Warning: stripslashes() expects parameter 1 to be string, array given in D:\xampp\htdocs\ad_min\email_script.php on line 7

 

Só quero exibir o resultado, mas nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

DW não contente em fazer marcações HTML sujas, agora se aventura a criar códigos PHP sujos \o/

 

form-parte-1.php

<form action="form-parte-2.php" method="post">
   <fieldset>
       <legend>Enviar para</legend>
       <ul style="list-style: none">
           <li><input type="checkbox" name="mail[]" value="0" id="mail_0"><label for="mail_0">email@gmail.com</label></li>
           <li><input type="checkbox" name="mail[]" value="1" id="mail_1"><label for="mail_1">email@hotmail.com</label></li>
           <li><input type="checkbox" name="mail[]" value="2" id="mail_2"><label for="mail_2">email@yahoo.com</label></li>
           <li><input type="checkbox" name="mail[]" value="3" id="mail_3"><label for="mail_3">email@uol.com.br</label></li>
           <li><input type="checkbox" name="mail[]" value="4" id="mail_4"><label for="mail_4">email@ig.com.br</label></li>
       </ul>
   </fieldset>
   <button type="submit">Enviar</button>
</form>

 

form-parte-2.php

if($_SERVER['REQUEST_METHOD'] != 'POST') die();

echo 'Enviando e-mail para os ids:<br>';
foreach($_POST['mail'] as $email) echo $email . '<br>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, mas eu já consegui. Meu form da primeira página era feito com um repeat region, e um checkbox em javascript que selecionava todos os outros 400 checkbox criados com valor dinamico e com array no nome. Eu tinha um checkbox que recebe repetia infinitamente com os mesmos numeros de registros do banco de dados, e eu queria levar estes dados para a segunda pagina só para impressão mesmo. Os dados eram emails, lógico com uma boa paginacão, mas resolvi isso com um foreach e explode... está perfeito o sistema. Seria algo tipo as caixas de email genéricas (google, yahoo, ...)

 

Mesmo assim obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.