Jump to content
Fórum Script Brasil
  • 0

Separar variável do textarea + repetir função curl


igorfama
 Share

Question

Olá pessoas, sou um pouco iniciante no php e passei muitas horas tentando fazer o que vou descrever abaixo porem não consegui de forma nenhuma. Se alguém souber como fazer isso porfavor me ajude...

 

Bom vamos lá...

 

 

Tenho um TEXTAREA em um form que vai ser respondido da seguinte forma ->

 

nome1;cpf1

nome2;cpf2

nome3;cpf3

nome4;cpf4 

 

sem uma quantidade determinada. Preciso identificar essas variável para ser usada no curl e enviar uma solicitação para receber a resposta e validar se está correto, porem tem que repetir o curl de acordo com o numero de "linhas" que foi colocado no textarea,

 

eu consegui fazer para 1 linha ( nome1;cpf1 ) mas não consigo identificar as outras variável e fazer com que o curl repita o envio

$codigoHTML = $_REQUEST[ 'loginlist' ];

$arrayDeLinhas = explode( "\n", $codigoHTML );

$codigoPHP = '';

foreach( $arrayDeLinhas as $linha ) {
  $codigoPHP .= "" . addslashes( $linha ) . "";
}

// echo "<pre>\n{$codigoPHP}\n</pre>";

$teste = split (';', $codigoPHP);

$nome1 = $teste[0];
$cpf1 = $teste [1];

ai a partir das variável $nome1 e $cpf1 que eu passaria pelo curl para fazer o request

ficou de um jeito bem iniciante, porque fui juntando os códigos de acordo com que eu achei por ai

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Olá!

Tente assim:

<?php
$codigoHTML = $_REQUEST['loginlist'];

$arrayDeLinhas = explode("\n", $codigoHTML);

foreach ($arrayDeLinhas as $linha) {
    $dados = explode(';', $linha);
    // faça seu curl aqui, onde: $dados[0] é o nome e $dados[1] é o cpf
    echo $dados[0].' -> '.$dados[1].'<br>';
}

 

A função split está obsoleta há muitos anos, veja:

split.JPG.abda67f2bbe70e7c3023992a56f7a8

Edited by wash
Link to comment
Share on other sites

  • 0
9 horas atrás, wash disse:

Olá!

Tente assim:

<?php
$codigoHTML = $_REQUEST['loginlist'];

$arrayDeLinhas = explode("\n", $codigoHTML);

foreach ($arrayDeLinhas as $linha) {
    $dados = explode(';', $linha);
    // faça seu curl aqui, onde: $dados[0] é o nome e $dados[1] é o cpf
    echo $dados[0].' -> '.$dados[1].'<br>';
}

 

A função split está obsoleta há muitos anos, veja:

split.JPG.abda67f2bbe70e7c3023992a56f7a8

 

 

Obrigado, funcionou.

 

Só tenho mais uma duvida, estava usando uma forma para identificar quando desse sucesso no teste ou falha ( através de link ) porem estava acontecendo que se a ultima linha estive-se errada todas as outras tmb estaria, então não funcionou.

Como posso fazer para quando enviar o dados do curl utilizar um IF/Else em possíveis mensagem de erro por exemplo>

if ($mensagem = 'Conta inexistente' ) {

echo "$dados[0];$dados[1] - Conta Invalida! <br/>";

} else {
echo "$dados[0];$dados[1] - Conta valida !<br/>";

}

Com qual função eu conseguiria obter mensagem através do curl? andei pesquisando sobre o preG_match porem não consegui implementar no meu codigo.

Edited by igorfama
Link to comment
Share on other sites

  • 0
4 horas atrás, wash disse:

Olá!

Não manjo de curl. Vamos aguardar e ver se algum dos mestres poderá responder.

Bom até consegui fazer com o preg_match para receber a mensagem mas assim, não sei o que acontece quando coloco 2 conta para testar ao mesmo tempo se a ultima der invalido os outros também dão, não sei se tem algo haver por eles estarem no mesmo array ou se por que abrem todos de uma vez..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...