olha pessoal, estou tentando mesclar duas paginas, alias um formulario javascript em uma pagina PHP...
eis minha pagina JS funcionando como deveria:
bbcode:
<style>
#bbc {
text-align: center;
width: 23px;
height: 22px;
background-image: url('bbc/bbc_bg.gif');
}
#bbc:hover {
text-align: center;
width: 23px;
height: 22px;
background-image: url('bbc/bbc_hoverbg.gif');
cursor: Pointer;
}
#bbc2 {
text-align: center;
width: 73px;
height: 22px;
background-image: url('bbc/bbc_bg2.gif');
}
#bbc2:hover {
text-align: center;
width: 73px;
height: 22px;
background-image: url('bbc/bbc_hoverbg2.gif');
cursor: Pointer;
}
.fala {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
background-color: #eeeeff;
border: 1px solid #cccccc;
padding: 5px;
}
.pensamento {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
background-color: #eeeeee;
border: 1px solid #cccccc;
padding: 5px;
}
.cochicho {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
background-color: #ffeeee;
border: 1px solid #cccccc;
padding: 5px;
}
</style>
<?PHP
function anti_injection($sql)
{
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|drop database|)/"),"",$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
return $sql;
}
if(isset($_POST[pre])){
$_POST['bbcodes'] = anti_injection($_POST['bbcodes']);
$_POST['bbcodes'] = str_replace("\'","'",$_POST['bbcodes']);
$_POST['bbcodes'] = str_replace('\"','"',$_POST['bbcodes']);
print('<div>'.nl2br(bbcode($_POST['bbcodes'])).'</div><hr width="100%">');
}
function bbcode($sText)
{
$atagArray['b'] = array('open'=>'<b>', 'close'=>'</b>');
$atagArray['i'] = array('open'=>'<i>', 'close'=>'</i>');
$atagArray['u'] = array('open'=>'<u>', 'close'=>'</u>');
$atagArray['pre'] = array('open'=>'<pre>', 'close'=>'</pre>');
$atagArray['esquerda'] = array('open'=>'<p align="left">', 'close'=>'</p>');
$atagArray['direita'] = array('open'=>'<p align="right">', 'close'=>'</p>');
$atagArray['centro'] = array('open'=>'<p align="center">', 'close'=>'</p>');
$sTagArray['hr'] = array('tag'=>'<hr>');
$atagArray['img'] = array('open'=>'<img src="','close'=>'" border="0">');
$atagArray['url=(.*)'] = array('open'=>'<a href="', 'close'=>'" target="_blank">\\2</a>');
$atagArray['cor=(.*)'] = array('open'=>'<span style="color:', 'close'=>';">\\2</span>');
$atagArray['falar'] = array('open'=>'<div class="fala"><span style="font-size:12px;color:#000000;"><i><strong>Fala:</strong></i></span><br> » ', 'close'=>'</div>');
$atagArray['pensar'] = array('open'=>'<div class="pensamento"><span style="font-size:12px;color:#000000;"><i><strong>Pensa:</strong></i></span><br> » ', 'close'=>'</div>');
$atagArray['cochichar'] = array('open'=>'<div class="cochicho"><span style="font-size:12px;color:#000000;"><i><strong>Cochicha:</strong></i></span><br> » ', 'close'=>'</div>');
foreach ($atagArray as $stagName => $replace)
{
$tagEnd = preg_replace("/\W/sUi", "", $stagName);
$sText = preg_replace(
"|\[$stagName\](.*)\[/$tagEnd\]|sUi",
"$replace[open]\\1$replace[close]",
$sText
);
}
foreach ($sTagArray as $stagName => $replace)
{
if (eregi("[)(#$]", $stagName))
{
$stagNameNew = preg_replace("#([\)\(\$\#])#", "\\ \\1", $stagName);
$stagNameNew = preg_replace("#( +)#", "", $stagNameNew);
$sTagArray[ $stagNameNew ] = array('tag' => $replace['tag']);
unset($sTagArray[ $stagName ]);
}
}
foreach ($sTagArray as $stagName => $replace)
{
$sText= preg_replace("|\[$stagName\]|sUi", "$replace[tag]", $sText);
}
return $sText;
}
?>
<form name="form" method="post" action="">
<table width="430" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29"><div id="bbc" onclick="addBB('[b]','[/b]')"><img src="bbc/bold.gif" width="23" height="22" title="Negrito"></div></td>
<td width="29"><div id="bbc" onclick="addBB('[I]','[/I]')"><img src="bbc/italicize.gif" width="23" height="22" title="Itálico"></div></td>
<td width="29"><div id="bbc" onclick="addBB('[u]','[/u]')"><img src="bbc/underline.gif" width="23" height="22" title="Sublinhado"></div></td>
<td width="29"><div id="bbc" onclick="addBB('[pre]','[/pre]')"><img src="bbc/pre.gif" width="23" height="22" title="Texto pré-formatado"></div></td>
<td width="29"><div id="bbc" onclick="addBB('[esquerda]','[/esquerda]')"><img src="bbc/left.gif" width="23" height="22" title="Alinhar a Esquerda"></div></td>
<td width="29"><div id="bbc" onclick="addBB('[centro]','[/centro]')"><img src="bbc/center.gif" width="23" height="22" title="Alinhar ao Centro"></div></td>
<td width="29"><div id="bbc" onclick="addBB('[direita]','[/direita]')"><img src="bbc/right.gif" width="23" height="22" title="Alinhar a Direita"></div></td>
<td width="29"><div id="bbc" onclick="addBB('[hr]','')"><img src="bbc/hr.gif" width="23" height="22" title="Linha Horizontal"></div></td>
<td width="29"><div id="bbc" onclick="addSpecial('img')"><img src="bbc/img.gif" width="23" height="22" title="Adicionar Imagem"></div></td>
<td width="29"><div id="bbc" onclick="addSpecial('url')"><img src="bbc/url.gif" width="23" height="22" title="Adicionar Link"></div></td>
<td><select name="cor" id="select3" onChange="addBB('[cor='+this.value+']','[/cor]');">
<option selected>Cor</option>
<option value="#0000FF">Azul</option>
<option value="#FF6600">Laranja</option>
<option value="#009900">Verde</option>
<option value="#FFFFFF">Branco</option>
<option value="#000000">Preto</option>
<option value="#993300">Marrom</option>
<option value="#FF6699">Rosa</option>
<option value="#FFCCFF">Lilás</option>
<option value="#FF0000">Vermelho</option>
<option value="#FFFF00">Amarelo</option>
<option value="#990099">Roxo</option>
<option value="#990000">Vinho</option>
</select></td>
</tr>
<tr>
<td width="78" colspan="3"><div id="bbc2" onclick="addBB('[falar]','[/falar]')"><img src="bbc/falar.gif" width="73" height="22" title="Introduzir Fala"></div></td>
<td width="78" colspan="3"><div id="bbc2" onclick="addBB('[pensar]','[/pensar]')"><img src="bbc/pensar.gif" width="73" height="22" title="Introduzir Pensamento"></div></td>
<td width="78" colspan="3"><div id="bbc2" onclick="addBB('[cochichar]','[/cochichar]')"><img src="bbc/cochichar.gif" width="73" height="22" title="Introduzir Cochicho"></div></td>
<td width="23"> </td>
<td> </td>
</tr>
</table>
<textarea name="bbcodes" cols="60" rows="10" id="bbcodes"><?php echo("$_POST[bbcodes]"); ?></textarea>
<br>
<input type="submit" name="pre" value="Pré-visualizar">
</form>
<script>
function addBB(pBB,sBB){
if(document.selection){
var selecionado = document.selection.createRange().text;
}else{
var inicio = document.form.bbcodes.selectionStart;
var fim = document.form.bbcodes.selectionEnd;
var selecionado = document.form.bbcodes.value.substring(inicio,fim);
}
var textoOriginal = document.form.bbcodes.value;
if(selecionado==""){
document.form.bbcodes.value += pBB+sBB;
}else{
var meuNTexto = pBB + selecionado + sBB;
var textoFormatado = (textoOriginal.replace(selecionado, meuNTexto));
document.form.bbcodes.value = textoFormatado;
}
form.bbcodes.focus();
}
function addCode(code){
var inicio = document.form.bbcodes.selectionStart;
var selecionado = document.form.bbcodes.value.substring(inicio,inicio);
if(selecionado==""){
document.form.bbcodes.value += code;
}else{
var textoOriginal = document.form.bbcodes.value;
var textoFormatado = (textoOriginal.replace(selecionado, code));
document.form.bbcodes.value = textoFormatado;
form.bbcodes.focus();
}
}
function addSpecial(mode){
if(document.selection){
var selecionado = document.selection.createRange().text;
}else{
var inicio = document.form.bbcodes.selectionStart;
var fim = document.form.bbcodes.selectionEnd;
var selecionado = document.form.bbcodes.value.substring(inicio,fim);
}
var textoOriginal = document.form.bbcodes.value;
var textoFormatado = (textoOriginal.replace(selecionado, ""));
document.form.bbcodes.value = textoFormatado;
if(mode=='img'){
var thisIMG = prompt("Entre com a URL da imagem que você gostaria de adicionar.",selecionado);
if(thisIMG==null){return false;}
addCode('[img='+thisIMG+']');
}else if(mode=='email'){
var thisURL = prompt("Entre com o endereço de E-mail que você deseja adicionar.",selecionado);
if(thisURL==null){return false;}
var thisMAIL = prompt("Entre com algum titulo para o e-mail, se quiser.", thisURL);
addCode('[email='+thisURL+']'+thisMAIL+'[/email]');
}else if(mode=='url'){
var thisURL = prompt("Entre com a url do site.",'http://'+selecionado);
if(thisURL==null){return false;}
var thisLINK = prompt("Entre com algum nome para a url, se quiser.", thisURL);
addCode('[url='+thisURL+']'+thisLINK+'[/url]');
}else if(mode=='ftp'){
var thisURL = prompt("Entre com a url do ftp.",'ftp://'+selecionado);
if(thisURL==null){return false;}
var thisLINK = prompt("Entre com algum nome para a url, se quiser.", thisURL);
addCode('[ftp='+thisURL+']'+thisLINK+'[/ftp]');
}
}
</script>
e a pagina PHP que quero por a anterior para trabalhar no textarea...
cria_camp.php:
<?php
include('arquivo/config.php');
include("arquivo/acesso3.php");
?> Criar Campanhas<br><br>
<!--Começa a parte da inserção no banco de dados!-->
<?php
#//verifica se o formulario foi submetido.
if(isset($_POST['c_campanha']))
{//ultimo a fechar
#//pega os dados do formulario.
$titulo = $_POST['titulo_camp'];
$id_cat = $_POST['tipo_camp'];
$intro_text = $_POST['intro_text'];
$banner_camp = $_POST['banner_camp'];
#//verificar se titulo cadastrado no BD
$r1=mysql_query("SELECT titulo_camp FROM campanha_tb WHERE titulo_camp='$titulo'");
$nr1=mysql_num_rows($r1);
if($nr1!=0){
$erro[]="Já existe uma campanha com este titulo, por favor, escolha outro.";
$errou++;
}
#//minimo 10 caracteres e maximo de 40 caracteres
if((strlen($titulo)<10) || (strlen($titulo)>40)) {
$erro[]="Escolha um titulo com no minimo 10 caracteres e no maximo 40.";
$errou++;
}
#//encontrar caracteres
if( ereg("[;*¬|}{]", $titulo) ){
$erro[]="O titulo não deve conter os caracteres: <b>; * ¬ | }</b> e <b>{</b>";
$errou++;
}
#//verificar se os campos foram setados
if( (empty($titulo)) || (empty($intro_text)) ){
$erro[]="Preencha todos os campos.";
$errou++;
}
#//verifica imagem
$config = array();
// Prepara a variável do arquivo
$arquivo = isset($banner_camp) ? $banner_camp : FALSE;
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 150000;
// Largura máxima (pixels)
$config["largura"] = 500;
// Altura máxima (pixels)
$config["altura"] = 130;
// Formulário postado... executa as ações
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|jpg)$", $arquivo))
{
$erro[] = "Arquivo em formato inválido ou você não enviou uma imagem! A imagem deve ser jpg, jpeg, gif ou png. Envie outro arquivo.";
}
else
{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"])
{
$erro[] = "Arquivo em tamanho muito grande!<br>
A imagem deve ser de no máximo " . $config["tamanho"] . " bytes.
Envie outro arquivo.";
}
// Para verificar as dimensões da imagem
$tamanhos = getimagesize($arquivo["tmp_name"]);
// Verifica largura
if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
}
}
}
#// Imprime as mensagens de erro
if(sizeof($erro))
{
echo "<font color=\"#FF0000\" size=\"3\"><b>Foram encontrados " . $errou . " erros durante o cadastro: </b><br><br></font>";
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "<br><input type=button value=\"« Conferir os dados.\" onClick=\"history.go(-1)\">";
}
#//inseri no banco de dados se tudo for OK
if($erro==0){
$ins=mysql_query("INSERT INTO campanha_tb (titulo_camp, banner_camp, data_camp, atualizacao_data_camp, atualizacao_hora_camp, mestre_camp) VALUES ('$titulo', '$banner_camp',NOW(), NOW(), NOW(), '$usuario[id]')");
$result = mysql_query($i);
echo '<center>Cadastro efetuado com sucesso! ( '.$ins.' ) <br><br>
<b>Avatar:</b><br>
<img src="imagens/avatar/' . $imagem_nome . '">
<br>
<b>Login:</b> '.$login.'<br>
<b>Senha:</b> [confidencial]<br>
<b>Nome:</b> '.$nome.'<br>
<b>Email:</b> '.$email.'';
}
}else //caso o FORM n tenha sido submetido, então está criando uma campanha.
{
?>
<!--Termina a parte da inserção no banco de dados!-->
<!--Começa a parte do formulario para criação da campanha!-->
<form name="c_campanha" method="post" action="index.php?ses=campanhas&pag=cria_camp.php">
Titulo: <input name="titulo_camp" type="text" size="25" maxlength="40">
Categoria: <select name="tipo_camp">
<?php //escreve as opções de categoria para as campanhas.
$resultado = mysql_query("SELECT id_cat_camp, nome_cat_camp FROM categoria_tb ORDER BY id_cat_camp ASC");
while( $resultado2 = mysql_fetch_array($resultado) )
{
echo("<option value=\"".$resultado2[id_cat_camp]."\">".$resultado2[nome_cat_camp]."</option>");
}
?>
</select><BR>
Banner: <input name="banner_camp" type="text" size="50" maxlength="200"><br>
Introdução:<br>
<textarea name="intro_text" cols="60" rows="10"></textarea>
<br>
<input name="c_campanha" type="submit" value="Criar agora! »">
</form>
<!--Termina a parte do formulario para criação da campanha!-->
<?php
} // fim da verificação se o formulario foi ou não submetido.
?>
é o seguinte, se eu tento colocar as paginas, eu até faço com que o BBCODE apareça, porem ele n é funcional... ao clicar em um dos botoes de formatação ele n insere as tags...
alguém sabe me dizer o que esta havendo, ou qual o lugar correto?
obrigado desde já...
só pra avisar: eu chamo paginas por include, serah que tem a ver?
Pergunta
Sepphiroth
olha pessoal, estou tentando mesclar duas paginas, alias um formulario javascript em uma pagina PHP...
eis minha pagina JS funcionando como deveria:
bbcode:
e a pagina PHP que quero por a anterior para trabalhar no textarea... cria_camp.php:é o seguinte, se eu tento colocar as paginas, eu até faço com que o BBCODE apareça, porem ele n é funcional... ao clicar em um dos botoes de formatação ele n insere as tags...
alguém sabe me dizer o que esta havendo, ou qual o lugar correto?
obrigado desde já...
só pra avisar: eu chamo paginas por include, serah que tem a ver?
Editado por SepphirothLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.