Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Flávio Henrique

Gerador com textarea e exibição na tela

Recommended Posts

Olá, boa tarde!

 

Tenho um código em php, onde ele insere no banco de dados registro do textarea por linha, cada linha um registro. E exibe na tela todos os registro na forma de link com id! O problema é quando insiro mais de duas linhas no textarea ele está não mostra o número certo dos ids cadastrados no banco de dados! Alguém me ajuda!

 

O formulário:

<FORM NAME="form1" METHOD="post" ACTION="cadastrar.php">
	<table width="419" border="0">
		<tr>
			<td width="120" valign="top">SÉRIE:</td>
                        <td width="289">
				<input id="serie" NAME="serie" maxlength="600" size="47" type="text"/><br>
			</td>
		</tr>
                <tr>
		        <td valign="top">TITULOS:</td>
                        <td>
				<TEXTAREA NAME="titulos" cols="35" rows="5"></TEXTAREA><br>
			</td>
		</tr>
		<tr>
		        <td valign="top">DROPVIDEO:</td>
                        <td>
				<TEXTAREA id="dropvideo" NAME="dropvideo" cols="35" rows="5"></TEXTAREA>
			</td>
		</tr>
		<tr>
			<td valign="top">VIDTO:</td>
                        <td>
 				<TEXTAREA id="vidto" NAME="vidto" cols="35" rows="5"></TEXTAREA>	
			</td>
 		</tr>
		<tr>
 			<td valign="top">ALLMYVIDEOS:</td>
                        <td>
 				<TEXTAREA id="allmyvideos" NAME="allmyvideos" cols="35" rows="5"></TEXTAREA>
 			</td>
 		</tr>
                <tr>
			<td valign="top">VIDEO.PW:</td>
                        <td>
 				<TEXTAREA id="videopw" NAME="videopw" cols="35" rows="5"></TEXTAREA><br>
 			</td>
		</tr>			
	</table>
        <table style="padding-left:350px">
                <tr>
			<td>
				<INPUT id="cadastrar" name="cadastrar" type="submit" value="Cadastrar" class="but">
			</td>
                </tr>
		</tr>
        </table>
</form>

e lá no cadastrar.php onde pega, cadastra no banco e mostra os dados está:

<?php 

$codserie = $_POST['serie'];

$codtitulos = $_POST['titulos'];

$codvto = $_POST['vidto'];

$contador = $_POST['vidto'];

$codropvdeo = $_POST['dropvideo'];

$codallmv = $_POST['allmyvideos'];

$codvideopw = $_POST['videopw'];

//pega os valores vindo do textarea

//separa os valores que estao por linha

$vidt = explode("\r\n", $codvto);

$drop = explode("\r\n", $codropvdeo);

$allmv = explode("\r\n", $codallmv);

$vipw = explode("\r\n", $codvideopw);

$titlepag = explode("\r\n", $codtitulos);

$conexaoo = mysql_connect("localhost","root",""); //essa linha irá fazer a conexão com o banco de dados.

//conectando com a tabela do banco de dados
$banco = mysql_select_db("sist",$conexaoo); //nome da tabela onde os dados serão armazenados
			
			$limite = count($titlepag);
			for($n = 0; $n < $limite; $n++) {
			$inbd = "INSERT INTO play (serie, nome, vidto, dropvideo, allmyvideos, videopw, id) 
VALUES ('$codserie', '$titlepag[$n]', '$vidt[$n]', '$drop[$n]', '$allmv[$n]', '$vipw[$n]', '')";
$inserir = mysql_query($inbd,$conexaoo);
			}

if ($inserir) {
echo "<br>Cadastro inserido com sucesso!</b><br><br>";

} else {
echo "Não foi possível inserir o download, tente novamente.<br>";
// Exibe dados sobre o erro:
echo "Dados sobre o erro:<br>" . mysql_error();
}

//$lixo = array("http://vidto.me/",".html","http://dropvideo.com/","video/","embed/","/");$lixoallmv = array("http://allmyvideos.net/","http://www.allmyvideos.net/",":","/");$lixovideopw = array("http://videopw.com/","v/","e/","/");$lixotitle = array("]" , ";", "[");$lixovideomega = array("http://videomega.tv/?ref=");

$sql="SELECT id FROM play ORDER BY id DESC ";

$resultado=mysql_query($sql,$conexaoo);

if(mysql_num_rows($resultado)==0){

	echo"<br>Nenhum dado encontrado!";

		}else{

			$dados=mysql_fetch_array($resultado);

			$contador = 1;
$ide = $dados['id'];
$ideo = $ide-1;
			for($i = 0; $i < count($titlepag); $i++){
echo"<a href="http://localhost/play/index.php?id=".$ideo++."" target="_blank">Assistir - Episódio ".($contador <=9 ? '0' . $contador : $contador )."</a> <br>";
			$contador++;
	}

}


?>
<br><br>
<a href="javascript:window.history.go(-1)">Voltar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi direito seu problema. Você diz que o INSERT não é feito na quantidade certa? Para verificar isso, basta dar um echo/var_dump em $inbd dentro do loop, para ver quais consultas estão sendo executadas.

 

Algumas observações sobre seu código:

 

1. Em vez de fazer vários INSERTs, construa apenas um, com todos os dados, e execute-o só uma vez. Terá um bom ganho de desempenho. Veja: http://rberaldo.com.br/inserindo-multiplos-registros-em-tabela-de-banco-de-dados/

 

2. funções mysql_* estão obsoletas desde o PHP 5.5. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_fetch_array tem que ser chamada tantas vezes quanto o número de resultados. Por isso é comum colocá-la em um while. Veja os exemplos do link que enviei

 

Troque o for pelo while. Ficará bem mais simples. Não precisará de $ide, não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei mas não consegui! Acho que me expressei mal, eu quis dizer exibir na tela apena os links com os repectivos ids que acabei de cadastrar.. tentei usando mysql_fetch_array no for e no while mas não deu certo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então mude um pouco o seu SELECT. Selecione os últimos N registros, onde N é o número de linhas informadas pelo usuário. Assim, só seleciona os registros cadastrados por ele

 

Faça algo assim

 

 

SELECT dados FROM tabela ORDER BY id DESC limit n

 

n é o número de linahs, que é o tamanho do seu array retornado pelo explode

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente ele mostra ainda não mostra o id correto!
Tipo:

eu insiro 3 dados(3 linhas no textarea), ele insere normal 3 registros no banco de dados

só que na hora que vai mostrar o id ele mostra:

1 registro - último id existente no banco de dados;

2 registro - último id existente + 1 no banco de dados;

3 registro - último id existente + 2 no banco de dados!

Com ajuda do paulinhosupriano, o meu código deu uma mudada mais ainda está com o erro!

Tentei ajeitar, mas não deu certo!

Como não sou nenhum expert em php, peço que não me mandem fazer coisas que sejam mais avançadas sem exemplos.. rs sei apenas o básico do básico de php!!

if ($inserir) {
echo "<br>Cadastro inserido com sucesso!</b><br><br>";

} else {
echo "Não foi possível inserir o download, tente novamente.<br>";
// Exibe dados sobre o erro:
echo "Dados sobre o erro:<br>" . mysql_error();
}

//$lixo = array("http://vidto.me/",".html","http://dropvideo.com/","video/","embed/","/");$lixoallmv = array("http://allmyvideos.net/","http://www.allmyvideos.net/",":","/");$lixovideopw = array("http://videopw.com/","v/","e/","/");$lixotitle = array("]" , ";", "[");$lixovideomega = array("http://videomega.tv/?ref=");

$sql="SELECT * FROM play WHERE id=(SELECT MAX(id) FROM play)";
$resultado=mysql_query($sql,$conexaoo);



if(mysql_num_rows($resultado)==0){

	echo"<br>Nenhum dado encontrado!";

		}else{
			
				function getUrlLink($Id,$Textarea , $Nome, $Campo){
				$arrCampo = explode('\r\n', $Textarea);
				$cont=1;
				foreach($arrCampo as $Campos){
					#Inicio conexao#
					$conexaoo = mysql_connect("localhost","root","");
					$banco = mysql_select_db("assisti4_download",$conexaoo);
					#Fim conexao#
					$codtitulos = $_POST['titulos'];
					$titlepag = explode("\r\n", $codtitulos);
					$limite1 = count($titlepag);
					//$id = "id";
					//$recebe = ($id-$limite1);
					$sql="SELECT * FROM play ORDER BY id DESC limit $limite1";
			#----------------------------------------------#
					$codtitulos = $_POST['titulos'];
					$titlepag = explode("\r\n", $codtitulos);
					$limite2 = count($titlepag);
					$sqlii = mysql_query($sql, $conexaoo);
					$ddos = mysql_fetch_assoc($sqlii);
					
					for($i = 0; $i < $limite2; $i++){
					echo "<a href="http://assistirseriesonlinedubladas.com/play/index.php?id=".$ddos['id']."" target="_blank">Assistir - Episódio ".$Campo. str_pad($cont , 2 , '0' , STR_PAD_LEFT) ."</a>". "<br />";
					$cont++;
					}
				}
			}
			
			
			#Mostra os dados inseridos, somente os dados inseridos
			while($dados=mysql_fetch_array($resultado)):
				getUrlLink($dados['id'],$dados['vidto'], $dados['nome'], ''). '<br />';
				//getUrlLink($dados['videopw'], $dados['nome'], 'videopw'). '<br />';
			endwhile;
		}
		


Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui!
O código Correto:

$sql="SELECT id FROM play ORDER BY id DESC ";

$resultado=mysql_query($sql,$conexaoo);

if(mysql_num_rows($resultado)==0){

	echo"<br>Nenhum dado encontrado!";

		}else{

			$dados=mysql_fetch_array($resultado);

			$contador = 1;
$ide = $dados['id'];
$ideo = $ide-$limite+1;
			for($i = 0; $i < count($titlepag); $i++){
echo"<a href="http://localhost/play/index.php?id=".$ideo."" target="_blank">Assistir - Episódio ".($contador <=9 ? '0' . $contador : $contador )."</a> <br>";
$ideo++;
			$contador++;
	}

}

Agora criei outro sistema, adaptei os códigos nesse novo! o que mudou foi o design e acrescentei algumas funcionalidades! O problema é que não faz o bendito login quando passei para o servidor web! já no localhost funciona normalmente! vejam o sistema: http://assistirseriesonlinedubladas.com/sistema/novo/ daí fiz algumas alterações e agora eu logo mais fica na tela de login, atualizo a página daí aparece o sistema! o index.php é feito do sistema de login para os usuarios sem o acesso e o sistema para quem tem acesso! o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Habilitei e só aparece que não ta definida a variavel $_SESSION['UsuarioUser'] só que quando faço o login o erro desaparece mas continua o formulario de login, não aparece o conteudo bloqueado! se eu entrar novamente no index já aparece eu logado!

Se eu tentar entrar em qualquer pagina do site deslogado aparece no conteudo:

Warning: Cannot modify header information - headers already sent by (output started at O ARQUIVO QUE TENTEI ABRIR:1) in O ARQUIVO QUE TENTEI ABRIR on line 8

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.