Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

como chamar função em php

21-01-2010 15:00

Olá! Tenho dificuldade em utilizar funções em php. Não sei como chamá-las. Por exemplo (que é de um tutorial que não mostra como chamá-las):
<?php function exemplo1($parametro1, $parametro2, ..., $parametroN){ echo "Primeira função em PHP.\n"; return $valor_retornado; } ?>

Como eu chamo a função? Quero validar CNPJ, encontrei várias funções para tal, mas não consigo chamá-las. É a partir do campo input?

Há um código que funciona: arquivo index.php
<html> <head> <title>Valida CPF/CNPJ - Coluna PHP / MySQL - iMasters </title> </head> <body bgcolor="#FFFFFF"> <form name="valida" method="post" action="validar.php"> <p><font face="Arial">Validar: </font></p> <p><font face="Arial"> CNPJ (pessoa jurídica)</font></p> <p><font face="Arial">N&uacute;mero:</font> <input type="text" name="Cnpj" size="18" maxlength="18"></p> <p><input type="submit" name="Submit" value="Cadastrar"> <input type="reset" name="Submit2" value="Limpa"></p> </form><p>&nbsp;</p> <p></p> </body>

E arquivo validar.php
CalculaCNPJ($Cnpj); //Função que calcula CNPJ function CalculaCNPJ($Cnpj) { $RecebeCNPJ=${"Cnpj"}; $s=""; for ($x=1; $x<=strlen($RecebeCNPJ); $x=$x+1) { $ch=substr($RecebeCNPJ,$x-1,1); if (ord($ch)>=48 && ord($ch)<=57) { $s=$s.$ch; } } $RecebeCNPJ=$s; if (strlen($RecebeCNPJ)!=14) { echo "<h1>&Eacute; obrigat&oacute;rio o CNPJ com 14 d&iacute;gitos</h1>"; } else if ($RecebeCNPJ=="00000000000000") { $then; echo "<h1>CNPJ Inv&aacute;lido</h1>"; } else { $Numero[1]=intval(substr($RecebeCNPJ,1-1,1)); $Numero[2]=intval(substr($RecebeCNPJ,2-1,1)); $Numero[3]=intval(substr($RecebeCNPJ,3-1,1)); $Numero[4]=intval(substr($RecebeCNPJ,4-1,1)); $Numero[5]=intval(substr($RecebeCNPJ,5-1,1)); $Numero[6]=intval(substr($RecebeCNPJ,6-1,1)); $Numero[7]=intval(substr($RecebeCNPJ,7-1,1)); $Numero[8]=intval(substr($RecebeCNPJ,8-1,1)); $Numero[9]=intval(substr($RecebeCNPJ,9-1,1)); $Numero[10]=intval(substr($RecebeCNPJ,10-1,1)); $Numero[11]=intval(substr($RecebeCNPJ,11-1,1)); $Numero[12]=intval(substr($RecebeCNPJ,12-1,1)); $Numero[13]=intval(substr($RecebeCNPJ,13-1,1)); $Numero[14]=intval(substr($RecebeCNPJ,14-1,1)); $soma=$Numero[1]*5+$Numero[2]*4+$Numero[3]*3+$Numero[4]*2+$Numero[5]*9+$Numero[6]*8+$Numero[7]*7+ $Numero[8]*6+$Numero[9]*5+$Numero[10]*4+$Numero[11]*3+$Numero[12]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado1=0; } else { $resultado1=11-$soma; } if ($resultado1==$Numero[13]) { $soma=$Numero[1]*6+$Numero[2]*5+$Numero[3]*4+$Numero[4]*3+$Numero[5]*2+$Numero[6]*9+ $Numero[7]*8+$Numero[8]*7+$Numero[9]*6+$Numero[10]*5+$Numero[11]*4+$Numero[12]*3+$Numero[13]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado2=0; } else { $resultado2=11-$soma; } if ($resultado2==$Numero[14]) { echo "<h1>CNPJ válido</h1>"; } else { echo "<h1>CNPJ inválido</h1>"; } } else { echo "<h1>CNPJ inválido</h1>"; } } } //Fim do Calcula CNPJ

Mas não consigo adaptar para meu formulário. Gostaria de transformar o que é exibido através do echo para que seja exibido dentro de meu formulário de forma padrão como as outras validações, através de um variável, mas não estou conseguindo. Desejo saber como chamo uma função para continuar tentando. Um abraço.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17612
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

como chamar função em php

21-01-2010 22:20

Você não está confundindo validação PHP com validação JavaScript, que é colocada na hora de digitar?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

como chamar função em php

22-01-2010 00:15

Olá, web! Não. É em php, mesmo. Consegui fazer. No código, nas linhas em que há echo, substituí por retorn FALSE ou TRUE. Ficou assim:
//Função que calcula CNPJ CalculaCNPJ($Cnpj); function CalculaCNPJ($Cnpj) { $RecebeCNPJ=${"Cnpj"}; $s=""; for ($x=1; $x<=strlen($RecebeCNPJ); $x=$x+1) { $ch=substr($RecebeCNPJ,$x-1,1); if (ord($ch)>=48 && ord($ch)<=57) { $s=$s.$ch; } } $RecebeCNPJ=$s; if (strlen($RecebeCNPJ)!=14) { return FALSE; } else if ($RecebeCNPJ=="00000000000000") { $then; return FALSE; } else { $Numero[1]=intval(substr($RecebeCNPJ,1-1,1)); $Numero[2]=intval(substr($RecebeCNPJ,2-1,1)); $Numero[3]=intval(substr($RecebeCNPJ,3-1,1)); $Numero[4]=intval(substr($RecebeCNPJ,4-1,1)); $Numero[5]=intval(substr($RecebeCNPJ,5-1,1)); $Numero[6]=intval(substr($RecebeCNPJ,6-1,1)); $Numero[7]=intval(substr($RecebeCNPJ,7-1,1)); $Numero[8]=intval(substr($RecebeCNPJ,8-1,1)); $Numero[9]=intval(substr($RecebeCNPJ,9-1,1)); $Numero[10]=intval(substr($RecebeCNPJ,10-1,1)); $Numero[11]=intval(substr($RecebeCNPJ,11-1,1)); $Numero[12]=intval(substr($RecebeCNPJ,12-1,1)); $Numero[13]=intval(substr($RecebeCNPJ,13-1,1)); $Numero[14]=intval(substr($RecebeCNPJ,14-1,1)); $soma=$Numero[1]*5+$Numero[2]*4+$Numero[3]*3+$Numero[4]*2+$Numero[5]*9+$Numero[6]*8+$Numero[7]*7+ $Numero[8]*6+$Numero[9]*5+$Numero[10]*4+$Numero[11]*3+$Numero[12]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado1=0; } else { $resultado1=11-$soma; } if ($resultado1==$Numero[13]) { $soma=$Numero[1]*6+$Numero[2]*5+$Numero[3]*4+$Numero[4]*3+$Numero[5]*2+$Numero[6]*9+ $Numero[7]*8+$Numero[8]*7+$Numero[9]*6+$Numero[10]*5+$Numero[11]*4+$Numero[12]*3+$Numero[13]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado2=0; } else { $resultado2=11-$soma; } if ($resultado2==$Numero[14]) { return TRUE; } else { return FALSE; } } else { return FALSE; } } } //Fim do Calcula CNPJ

Eu faço a validação assim:
if(isset($_POST[Submit])) //if($_POST[Submit]) { $errN = 0; // Total de erros $errT = ""; // Texto dos erros $errS = "style=\"background-color:#FFFF99\" "; // Formatação do campo com erro if(empty($_POST[Cnpj])){$errN++; $errSC[Cnpj] = $errS; $errT .= "O campo \"CNPJ\" &eacute; obrigat&oacute;rio!";} elseif(strlen($_POST[Cnpj]) !="14"){$errN++; $errSC[Cnpj] = $errS; $errT .= "&nbsp;É obrigatório o CNPJ com 14 dígitos!";} elseif(CalculaCnpj($_POST[Cnpj])=="0"){$errN++; $errSC[Cnpj] = $errS; $errT .= "&nbsp;CNPJ Inválido!";} else { if(CalculaCnpj($_POST[Cnpj])=="0"){$errN++; $errSC[Cnpj] = $errS; $errT .= "&nbsp;O campo \"CNPJ\" deve conter somente números!";}} //Se não tiver erro, executa a ação do form. Se houve erro, exibe a mensagem de erro. if($errN == "0") { //A ação do form. INSERT OU UPDATE } else { $MensagemErroValidacaoFormulario .= "Há&nbsp;$errN&nbsp;erro(s) no preenchimento do formulário. Veja abaixo:$errT"; }

O input ficou assim:
$MensagemErroValidacaoFormulario <input type=\"text\" name=\"Cnpj\" value=\"$_POST[Cnpj]\" $errSC[Cnpj]\">

Isto: $errSC[Cnpj], deixa o campo em amarelo quando é acusado erro na inserção. Não sei se você entendeu. É gambiarra. Mas deu certo. Se não for compreensível e não servir a alguém, peço que apague o post. Um abraço.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17612
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

como chamar função em php

22-01-2010 19:02

Entendi, vou manter. :reading
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado