-
Conteúdo Similar
-
Por usuario181474618518
Bom dia a todos!
Estou iniciando em PHP, então talvez isso seja uma pergunta burra. Estou utilizando uma plataforma que fornece um array de categorias como digitado abaixo, e minha ideia é fazer uma busca no conteúdo por essas categorias, e substituir elas por outro array, que no caso terá as mesmas categorias, no entanto, com links. Veja:
$conteudo = "Meu conteúdo Filmes Laranja e Verde. Blackout."; $from = array( 0 => "Laranja", 1 => "Azul", 2 => "Vermelho", 3 => "Verde", 4 => "Black" ); $to = array( 0 => "<a href='#laranja'>Laranja</a>", 1 => "<a href='#azul'>Azul</a>", 2 => "<a href='#vermelho'>Vermelho</a>", 3 => "<a href='#verde'>Verde</a>", 4 => "<a href='#ver'>Black</a>" ); $novoconteudo = strtr($conteudo, array_combine($from, $to)); echo $novoconteudo;
O máximo que conseguir fazer foi usando strtr, no entanto acaba fazendo algumas substituições "burras", como por exemplo adicionar link em "Black" quando na verdade a palavra é "Blackout". Acredito que para resolver isso, deveria ser feito com preg_replace, porém já tentei e não consegui. Alguém pode me ajudar?
Veja: http://sandbox.onlinephpfunctions.com/code/e7cfd27ea182041de0519df3ed22bedc93cda18b
-
Por GabrielSI19
Boa tarde, estou fazendo um algorítimo mas ele não roda 100% da maneira que devia.
Leia um vetor de 20 posições e o compacte, ou seja, elimine as posições com valor zero avançando uma posição com os valores subsequentes do vetor. Dessa forma, todos os "zeros" devem ficar para o final do vetor.
O que acontece é que se eu digitar apenas um índice de valor 0 ele é enviado para o final do vetor, porém se houverem mais de dois índices com o valor 0, o primeiro toma a posição final do vetor mas os outros continuam no mesmo lugar. Alguém pode me ajudar??
#include <iostream> #include <stdlib.h> #include <math.h> #include <locale.h> #include <stdio.h> #include <string.h> int main (void) { setlocale(LC_ALL,"Portuguese"); int vet[20]; int i,aux; for(i=0;i<20;i++) //entrada de dados { printf("Digite o valor da posição %d do vetor: ",i); scanf("%d",&vet[i]); } for(i=0;i<20;i++) //operação realizada { if(vet[i]==0) { aux=vet[i]; vet[i]=vet[i+1]; vet[i+1]=aux; } } for(i=0;i<20;i++){ printf("VetorFinal [%d] = %d\n",i,vet[i]); } }
-
Por Rafael Guia
Olá galera, boa tarde!
Alguém pode me ajudar?
Gostaria de clicar no link (que estou utilizando como botão) e que ele mudasse de cor, porém ao clicar novamente, preciso que ele volte a cor normal.
Ps.: Não tenho como usar jQuery.
Segue o código:
Utilizei "onDblClick", mas não ficou bom, preciso dar apenas 1 click para voltar a formatação normal.
<tr> <td width="70%" class="tt">CPF</td> <td width="30%"><a href="#vazio" class="check" onClick="this.className='active'" onDblClick="this.className='check'">OK</a></td> </tr>
Grato,
-
Por Ericsson Berg
Iai Pessoal, postando pela primeira vez aqui nesta área!!
Tenho uma situação muito complicada para resolver e gostaria da ajuda de vocês.
Como substituir os dados de uma fórmula que está em string pelo resultado de consultas no banco de dados?
Os números que estão na fórmula correspondem aos dados de uma tabela onde preciso trazer o valor como retorno.
Select codrelatorio, situacao, formula
Select 10, "teste", "([981] + [988]) / [700]" formula
Ex.: Pegar o número 981 e realizar uma consulta em uma tabela, retornando assim o valor 1090.01;
begin @valor = SELECT v.valor FROM table_exemplo WHERE codigo = 981 return @valor; end Fórmula: (1090.01 + [988]) / [700]
E assim por diante até ter todos os números da fórmula substituídos e ter este resultado:
Select 10, "teste", (1090.01 + 150) / 55 formula
-
Por quantic2016
pessoal eu nao sei como fazer para apagar uma imagem do banco de dados ou para editala , eu tenho este script que faz o cadastro do meu cliente , esta funcionando 100%% , se alguem precisar e so copiar e usar , mas em fim , ele manda minha imagem para o diretorio e grava o nome dela no banco perfeitamente porem tenho algumas duvidas que n acho um tuto certo na net entao preciso de dicas de pessoas que saibam mais que eu :
1: como crio um script que vai fazer a edição dessa imagem?? colocar uma imagem nova e facil , porem quando a nova chegar , tenho que apagar a imagem antiga para nao ficar ocupando espaço no servidor
2:deletar imagem do banco , se eu pedir para apagar o registro onde essa imagem esta cadastrada , a imagem tem que ser apagada junto : exemplo apagar a linha com id 15 ira apagar o nome da imagem no banco mas tem que apagar a imagem no diretorio tambem
3: esta pergunta não faz parte do topico mas se alguem quiser ajudar , eu agradeço muito , como faço a verificação de arquivo , tipo se é jpg,ou png , se for um .txt tem que dar erro na hora de guardar , n achei nada na net que funcionou
obrigado pela atenção
cadastra.php
<!-- Recebendo e gravando os dados --> <?php header ('Content-Type: text / html; charset = utf-8'); include "conexao.php"; $msg = false; //Recebendo os dados e tratando os mesmos para inserção no banco $recebeSeuNome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_SPECIAL_CHARS); $confereSeuNome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_MAGIC_QUOTES); $recebeSeuSNome = filter_input(INPUT_POST, 'snome', FILTER_SANITIZE_SPECIAL_CHARS); $confereSeuSNome = filter_input(INPUT_POST, 'snome', FILTER_SANITIZE_MAGIC_QUOTES); $recebeNomeUsuario = filter_input(INPUT_POST, 'nomeUsuario', FILTER_SANITIZE_SPECIAL_CHARS); $confereNomeUsuario = filter_input(INPUT_POST, 'nomeUsuario', FILTER_SANITIZE_MAGIC_QUOTES); $recebeEmail = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); $recebeSenha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_SPECIAL_CHARS); $criptografada = md5($recebeSenha); $nivel = $_POST['nivel']; $foto = $_FILES["fotouser"]; $consultaBanco = mysqli_query($conecta, "SELECT * FROM usuario WHERE email = '$recebeEmail'") or die (mysqli_error($consultaBanco)); $verificaBanco = mysqli_num_rows($consultaBanco); if($verificaBanco == 1){ session_start(); $_SESSION['msg'] = "Este e-mail ja esta cadastrado"; echo "<script>history.go(-1)</script>"; return false; } $consultaBanco = mysqli_query($conecta, "SELECT * FROM usuario WHERE userlogin = '$confereNomeUsuario'") or die (mysqli_error($consultaBanco)); $verificaBanco = mysqli_num_rows($consultaBanco); if($verificaBanco == 1){ session_start(); $_SESSION['msg'] = "Este nome de usuario ja esta cadastrado"; echo "<script>history.go(-1)</script>"; return false; } else { //erro nao esta verificando if ($confereSeuNome != $recebeSeuNome) { session_start(); $_SESSION['msg'] = "Digite um nome valido"; echo "<script>history.go(-1)</script>"; return false; } else if ($confereSeuSNome != $recebeSeuSNome) { session_start(); $_SESSION['msg'] = "Digite um sobrenome valido"; echo "<script>history.go(-1)</script>"; return false; } else if ($confereNomeUsuario != $recebeNomeUsuario) { session_start(); $_SESSION['msg'] = "Digite um nome de usuario valido"; echo "<script>history.go(-1)</script>"; return false; } if ($recebeEmail == NULL ) { session_start(); $_SESSION['msg'] = "Digite um Email"; echo "<script>history.go(-1)</script>"; return false; } //Nesse if, faço uma conferência em relação à senha informada. Se não for informada nenhuma, retorno a mensagem para que o usuário informe algo! if ($recebeSenha == NULL ) { session_start(); $_SESSION['msg'] = "Digite uma senha"; echo "<script>history.go(-1)</script>"; return false; } //Aqui faço a segunda parte da verificação: vejo se no nome de usuário foi utilizado algum caractere especial //Isso serve para evitar uma possível invasão sql no banco de dados, possibilitando assim a proteção e integridade dos dados //Nesse caso, eu comparo os nomes. Se forem iguais, após passarem pelos filtros, eu inicio a criptografia. Se não forem, peço que volte à página anterior else { // Se a foto estiver sido selecionada if (!empty($foto["name"])) { // Largura máxima em pixels $largura = 400; // Altura máxima em pixels $altura = 400; // Tamanho máximo do arquivo em bytes $tamanho = 10000; // Verifica se o arquivo é uma imagem // Pega as dimensões da imagem $dimensoes = getimagesize($foto["tmp_name"]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { session_start(); $_SESSION['msg'] = "A largura da imagem não deve ultrapassar ".$largura." pixels"; echo "<script>history.go(-1)</script>"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { session_start(); $_SESSION['msg'] = "Altura da imagem não deve ultrapassar ".$altura." pixels"; echo "<script>history.go(-1)</script>"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido if($arquivo["size"] > $tamanho) { session_start(); $_SESSION['msg'] = "A imagem deve ter no máximo ".$tamanho." bytes"; echo "<script>history.go(-1)</script>"; } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/\.(gif|png|jpg){1}$/i", $foto["name"], $ext); // Gera um nome único para a imagem $nome_imagem = user.(md5(uniqid(time()))) . "." . $ext[1]; } } //Se o endereço de e-mail for válido, eu preciso verificar se o e-mail cadastrado já consta na base de dados. //Como desejo que o e-mail seja um campo único, preciso verificar se o mesmo já foi ou não cadastrado no banco. //A consulta segue abaixo: //Agora vamos inserir os dados no banco $insereDados = mysqli_query($conecta, "INSERT INTO usuario (id_usuario, nome, sobrenome, email, fotouser, userlogin, passlogin,) VALUES ('NULL', '$confereSeuNome', '$confereSeuSNome', '$recebeEmail', '$nome_imagem', '$recebeNomeUsuario', '$criptografada')") or die (mysqli_error()); session_start(); if($insereDados=true){ // Caminho de onde ficará a imagem $caminho_imagem = "../img/" . $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($foto["tmp_name"], $caminho_imagem); } $_SESSION['msg'] = "Usuario cadastrado com sucesso"; header("Location: {$_SERVER['HTTP_REFERER']}"); } else{ $_SESSION['msg'] = "Erro ao cadastrar"; header("Location: {$_SERVER['HTTP_REFERER']}"); } } } ?>
-