Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Nigre

[Resolvido] Formulário PHP no DW não envia dados ao BD MySQL

Recommended Posts

Olá pessoal!

 

Estou tendo problemas com um formulário em PHP dentro do Dreamweaver MX. Criei uma tabela no banco de dados MySQL pelo PhpMyAdmin, fiz a conexão e utilizei o comportamento de servidor para inserir registro dentro do DW porque não conheço PHP. Até aí, tudo certo, mas quando vou testar o aplicativo no meu localhost acontece o problema. Preencho o formulário e quando clico no botão para enviar, a página simplesmente recarrega, como se tivesse dado um F5, e não envia os dados para o BD. E ao meu ver, está tudo certo, inclusive a indicação da página que deveria ser carregada após o envio do formulário. Bem, o código que o DW está gerando é este aí de baixo. Se alguém puder ajudar eu ficaria muito grato, pois este problema persiste há semana.

 

 

 

<?php require_once('Connections/connPMMC.php'); ?>

<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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;

}

 

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];

if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {

$editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];

}

 

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {

$insertSQL = sprintf("INSERT INTO noticias (titulo, texto) VALUES (%s, %s)",

GetSQLValueString($HTTP_POST_VARS['titulo'], "text"),

GetSQLValueString($HTTP_POST_VARS['texto'], "text"));

 

mysql_select_db($database_connPMMC, $connPMMC);

$Result1 = mysql_query($insertSQL, $connPMMC) or die(mysql_error());

 

$insertGoTo = "recebe.php";

if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {

$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

$insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];

}

header(sprintf("Location: %s", $insertGoTo));

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque

$HTTP_SERVER_VARS

por

$_SERVER

 

e

$HTTP_POST_VARS

por

$_POST

Testa e me diz no que dá!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá William!

Agradeço pela dica, mas não funcionou. Quando altero o código e tento salvar, o DM dá a seguinte mensagem:

 

 

"The Insert Record behavior was only partially deleted. To delete it entirely, undo your edit and click the minus (-) button in the Server Behavior inspector."

 

Será que o problema está no DW MX? Ou no bd?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, ia me esquecendo. Fiz no Dreamweaver um Recordset para extrair os dados do BD que insere manualmente pelo PHPMyAdmin e deu tudo certo! Então, aparentemente o Bd está funcionando perfeitamente. Ou o DW está gerando um código incorreto ou simplesmente não está conseguindo testar as páginas no servidor local.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leandro, veja bem alguns detalhes:

 

1 -

"The Insert Record behavior was only partially deleted. To delete it entirely, undo your edit and click the minus (-) button in the Server Behavior inspector."

essa msg significa q você está apagando 1 Server Behavior (comportamento d servidor) incorretamente;

p/ apaga-lo corretamente selecione-o no painel "Application" e clique no sinal d menos

(-)..

 

2- tem certeza d q o servidor (no teu caso imagino q deve ser o Apache) está corretamente instalado e ativado? sabe como fazer esse teste?

tb precisa ver a configuração do PHP e configuração d acesso ao MySQL.

há 1 forma bem simples d testar a conexão: no painel "recordset" ha´1 botão; clique em "test" p/ ver se a conexão está ok.

outras dicas: verifique se ao criar o site no dream você configurou corretamente a tecnologia q você está usando (no teu caso, PHP/MySQL) e a pasta padrão;

verifique tb se você salvou corretamente o bd nessa pasta e o caminho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só para complemento a resposta do Fernando

 

as funções

 

$HTTP_*_VARS

já estão depreciada, e no PHP6 deixará de existir, por isso te deixo um alerta se for gerar códigos use o DW8 ou posterior que já se enquadra na nova versão do php.

 

assim voce evitará que seu sistema pare de funcionar.

 

e ao que usam o MX para geração de códigos de PHP fica o conselho.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO!

 

Obrigado pelas dicas sobre o DW w o PHP. Em breve começarei a usar o CS3.

O problema era ridículo de tão simples! O Dw estava gerando o código php antes do head HTML. Bastou eu colocar o head no topo do código e tudo funcionou.

 

Bom, aproveito para deixar aqui uma outra questão. Quero criar uma página de detalhes, onde após clicar num dos registros puxados pelo RS, o usuário é elevado a outra página com as demais informações. Segui os passos de dois tutoriais aqui mesmo do imasters, definindo o ID do registro como o valor do parametro de URL do link e na pagina de detalhes, o filtro pelo ID, mas quando testo o sistema, a página de detalhes sempre aparece em branco. Alguma dica?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Leandro..

 

Q bom q resolveu..

qto à outra duvida, como você abriu novo topico

http://forum.imasters.com.br/index.php...p;#entry1169639

achei melhor postar 1 dica la mesmo.. veja c t ajuda..

disponha

 

E valeu tb a dica do WDuarte, sem duvida..

 

[ ]'s e sucesso a vcs..

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.