Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao cadastrar array no MySQL


glauciarezende

Pergunta

Olá!

Rodei o fórum mas não achei a resposta... VOU AFOGAR! Help!

Sou novata em PHP... preciso muito da ajuda de vocês!

Tipo, não estou conseguindo que os campos do email_to[] (no mysql) mostrem os e-mails cadastrados.... ai ai... aparece assim "Array" ... o teu código funcionou lindão no lado cliente mas no monstrengo do MySQL não consigo fazer ele mostrar os e-mails que foram cadastrados...captou?

Abaixo o código...eu imagino que o erro deve estar na conexão do php com o mysql... a orelhuda aqui deve ter colocado algo errado no comando mysql...ai ai...

Mamíferos..hehe... se vocês puderem me responder essa dúvida cruel eu ficarei muito agradecida...hehe... aguardo.

;)

pedaço do código:

<form onsubmit="return verify_form(this)" name="form_invite" action="?status=result" method="post">
<?    
function email($email){
if (ereg ("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){
return true;
}else{
    return false;
}
}

if(isset($_GET["status"])) { $status = $_GET["status"]; } else { $status = '';}

if($status=='result') {

echo '<div class="all_screen"><p align="left">';

$name_from = $_POST['name_from'];
$email_from = $_POST['email_from'];
$name_to = $_POST['name_to'];
$email_to = $_POST['email_to'];
$msg = nl2br(strip_tags($_POST['msg']));

$n_friends = count($name_to);
$error = 0;


if ( empty($name_from) ) { echo " - Por favor, coloque seu nome completo<br />"; $error ++; }
if ( empty($email_from) ) { echo " - Por favor, coloque seu e-mail completo<br />"; $error ++; }
if ( !email($email_from)) { echo " - Por favor, verefique seu e-mail.<br />"; $error ++; }
if ( ($n_friends == 1) and (empty($email_to[0])) ) { echo " - Por favor, coloque o e-mail completo dos seus amigos...<br />"; $error ++;}
if ( $error != 0 ) { echo ' - <a href="java script:history.go(-1)">Voltar</a>'; } else {

echo 'Obrigado '.$name_from.' por convidar seus amigos a visitar o Portal Cão.<BR /><BR />';

$subject = 'Conheça o Portal Cão!';
$from = ''.$name_from.'< '.$email_from.' >';

for($i=0;$i<$n_friends;$i++){ $x = $i + 1;
if ((empty($name_to[$i])) or (empty($email_to[$i]))) {$this_mail = 'Don\'t send'; $this_status = 0; } else { $this_mail = 'Sua mensagem foi encaminhada, obrigado!'; $this_status = 1;}
if (!email($email_to[$i])) {$this_mail = 'Houve um erro...por favor, confira os dados digitados...obrigado!'; }
echo "$x - $name_to[$i] - $this_mail <br>";

if ($this_status ==  0 ) { } else {
$email = $email_to[$i];
$msg_email = "Olá, $name_to[$i], $name_from para visitar este Portal: <BR /><BR /> $msg <BR /><BR />";

@mail ($email, $subject, $msg_email, "From: $from\nContent-type:text/html;charset=ISO-8859-1;MULTIPART/related");
}
} // close for

} // close else send email
echo '</p></div>';
}  // close if status==result


$conexao = mysql_connect("","","");  // beleza aqui eu configurei no ftp... :P 
   mysql_select_db("", $conexao);

[color=#FF0000][color=#FF8C00]   $inserir = mysql_query("INSERT INTO indicados (name_from, email_from, name_to, email_to, msg) VALUES ('$name_from', '$email_from', '$name_to', '$email_to', '$msg')");[/color][/color]

   mysql_close($conexao);
?>



<div id="amigos">
<label for="nome" class="seu_nome_label">Seu Nome</label>
<input class="seu_nome" name="name_from" type="text" value="" size="38" maxlength="100" />

<label for="email" class="seu_email_label">Seu E-mail</label>
<input class="seu_email" name="email_from" type="text" value="" size="38" maxlength="100" />

<label for="mensagem" class="escreva_label">Escreva a Mensagem.</label>
<textarea name="msg" class="escreva"></textarea>

<p class="adicione_amigos">Coloque o nome e e-mail dos seus amigos...clique no "+" para adicioná-los.</p>

<div class="expande">
<table><tr><td>
<label for="amigo_nome" class="seu_amigo_label">Seu Amigo</label><input class="input_amigos" type="text" [color=#FF0000]name="name_to[]">[/color]
<label for="amigo_email" class="amigo_email_label">E-mail</label><input class="input_email_1" type="text" size="15"[color=#FF0000] name="email_to[]">[/color]
<input class="menos_amigo" type="button" name="drop" value="Retirar" onClick="dropFile(this);">
<input class="mais_amigo" type="button" name="add"  value="Adicionar" onClick="addFile(this);">
</td></tr></table>

</div>
<input class="submit_indique" type="submit" value="ENCAMINHAR" name="Send" />


</div>
</form>

</div>
                            <div id="rodape">
                                <?php include "fim.php"; ?>
                                    <img class="bandeiras" src="imagens/site_seguro.gif" title="formas de pagamento" alt="formas de pagamento"/>
                                </div>
</div>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
Guest --glauciarezende --

Hihihihi kkkkk OK PHPMyAdmin...

Beraldo, deu esse recado de novo:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Parece que tá tendo um conflito com a versão né do MySQL e o tipo de sintaxe que usamos.. nhá... que droga...

E agora quem poderá nos salvar... Chama o Chapolin ... essa foi pooooodre hehe

:P

Você está usando esses nomes e e-mails para cadastrar? É estranho, pois não há erro de sintaxe. Poderia haver algum caractere que estivesse "cortando" a SQL, como aspas, mas não há. :unsure:

executando este script aparece aquele erro de sintaxe?

$inserir = mysql_query($sql) or exit(mysql_error());

OBS: não é MyPHPAdmin, é PHPMyAdmin. :P

Link para o comentário
Compartilhar em outros sites

  • 0

Execute montando a SQL assim, para dividir a consulta em linhas, para vermos em qual linha será mostrado o erro:

$sql = "INSERT INTO indicados(name_from, email_from, name_to, email_to, msg) VALUES\r\n";

for ($i = 0; $i < count($name_to); $i++)
{
    $sql .= " ('$name_from', '$email_from', '" . $name_to[$i] . "', '" . $email_to[$i] . "', '$msg')" . (($i == (count($name_to) - 1)) ? "" : ",") . "\r\n";
}

$inserir = mysql_query($sql) or exit(mysql_error());

Link para o comentário
Compartilhar em outros sites

  • 0

Então, essa nossa conversa tá virando um "loop" hehe

Amado, no servidor que o meu site está hospedado... ele tem phpMyAdmin 2.10.0.2... entaussis...sempre que abro o dito cujo ele me dá esse recado:

"A extensão mbstring do PHP não foi encontrada e você parece estar usando conjuntos de caracteres multibyte. Sem a extensão mbstring o phpMyAdmin não será capaz de dividir as strings corretamente isso pode causar resultados inesperados. "

Será que num é isso?

Eu coloquei na tabela do Indique o site o "Collation" para Latin1_bin que seria o "Conjuntos de caracteres e Collations" ...

Será que é isso?

Te aguardo. Obrigada!

Execute montando a SQL assim, para dividir a consulta em linhas, para vermos em qual linha será mostrado o erro:

$sql = "INSERT INTO indicados(name_from, email_from, name_to, email_to, msg) VALUES\r\n";

for ($i = 0; $i < count($name_to); $i++)
{
    $sql .= " ('$name_from', '$email_from', '" . $name_to[$i] . "', '" . $email_to[$i] . "', '$msg')" . (($i == (count($name_to) - 1)) ? "" : ",") . "\r\n";
}

$inserir = mysql_query($sql) or exit(mysql_error());

Link para o comentário
Compartilhar em outros sites

  • 0

Beraldo,

veja:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"

:blink:

Acho que isso não tem a ver, pois o sistema não depende do PHPMyAdmin nem da extensão mbstring. Essa extensão é necessária para usar o programa PHPMyAdmin, mas não para rodar seu script.

Tentou gerar a SQL como postei anteriormente?

Link para o comentário
Compartilhar em outros sites

  • 0

Certo, vou tentar.

Beraldo, valeu!

Você é muito legal! Atencioso.

Até mais!

Não há erro de sintaxe. :blink:

Aconselho você a desinstalar o EasyPHP e instalar tudo manualmente. Veja o artigo do Fabyo no sub-fórum de Tutoriais.

veja também:

http://br2.php.net/manual/pt_BR/install.windows.manual.php

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...