0

Gravando dados em Branco no MySQL

criado por Jakson em 18/06/2013 9:41pm
Galera... já busquei muita ajuda neste fórum e hoje eu preciso de uma outra...
Trabalho com PHP faz um tempo, porém, nunca havia acontecido isto antes comigo...
Fiz um Rolador de Dados em PHP, toda vez que tu rola o dado ele grava a informação em um banco... a Pedidos fiz outro site com o mesmo rolador, mas desta vez eu usei a função $PHP_SELF no código, não é necessário recarregar a página para rolar os dados... O problema começa aqui... Toda vez que eu entro na página inicial do site, ou eu dou refresh(F5) ele grava um dado em branco no banco de dados... eu não sei mais o que fazer...
Abaixo está o código como ele está no exato momento... ele funciona e tudo mais, o problema está sendo só o fato de estar gravando este dado em branco...

<form action="<?php echo $PHP_SELF; ?>" method="POST">
Nome:<br />
<input type="text" name="nome" /><br />
Habilidade:<br />
<input type="text" name="habilidade" /><br />
<p>Número de Dados:<br />
<input name="nDados" type="text" id="textarea" value="<?php echo"$nDados"; ?>" size="3" maxlength="2"><br />
Dificuldade:
<label>
<select name="dificuldade" id="dificuldade">
<option value="1" <?php if( $dificuldade == 1 ) echo "selected"; ?>>1</option>
<option value="2" <?php if( $dificuldade == 2 ) echo "selected"; ?>>2</option>
<option value="3" <?php if( $dificuldade == 3 ) echo "selected"; ?>>3</option>
<option value="4" <?php if( $dificuldade == 4 ) echo "selected"; ?>>4</option>
<option value="5" <?php if( $dificuldade == 5 ) echo "selected"; ?>>5</option>
<option value="6" <?php if( $dificuldade == 6 ) echo "selected"; ?>>6</option>
<option value="7" <?php if( $dificuldade == 7 ) echo "selected"; ?>>7</option>
<option value="8" <?php if( $dificuldade == 8 ) echo "selected"; ?>>8</option>
<option value="9" <?php if( $dificuldade == 9 ) echo "selected"; ?>>9</option>
<option value="10" <?php if( $dificuldade == 10 ) echo "selected"; ?>>10</option>
</select>
</label><br /><br />
Explosão do 10
<label>
<input name="explode" type="checkbox" id="explode" value="1" <?php if( $explode == 1 ) echo "checked"; ?>>
</label>
</p>
<p>
<input type="hidden" name="flagBusca" value="1">
<input type="submit" name="Submit" value="Rolar">
</p>
</form>

<? //================================================================== ?>
	<?php
		date_default_timezone_set("America/Sao_Paulo");

if( isset( $_POST['flagBusca'] )) $flagBusca = $_POST[ 'flagBusca' ]; else $flagBusca = 0;
if( isset( $_POST['nDados'] )) $nDados = $_POST[ 'nDados' ]; else $nDados = 0;
if( isset( $_POST['dificuldade'] )) $dificuldade = $_POST[ 'dificuldade' ]; else $dificuldade = 6;
if( isset( $_POST['explode'] )) $explode = $_POST[ 'explode' ]; else $explode = 0;
if( isset( $_POST['nome'])) $nome = $_POST[ 'nome' ];
if( isset( $_POST['habilidade'])) $habilidade = $_POST['habilidade'];
if( isset( $_POST['ip'])) $ip = $_POST['ip'];
if( isset( $_POST['horario'])) $horario = $_POST['horario'];
if( isset( $_POST['hora'])) $hora = $_POST['hora'];
if( isset( $_POST['dia'])) $dia = $_POST['dia'];
$horario = date('Y-m-d H:i:s');
$ip = $_SERVER["REMOTE_ADDR"];
$hora = date('H:i:s');
$dia = date('d/m/Y');
//$timestamp = strtotime($data_mysql);
if( $flagBusca == 1 ) {
 if( $nDados != 0 ) {
  echo "<div id='rolagem'>";
  echo "<br />";
  echo "<p>Dados Rolados</p>";
  echo "<br>";
  echo "Dados rolados por $nome";
  echo "<br />";
  $rolagem = rola_dado( $nDados );
  echo "<br>";
//======================
  echo "<br />";
  echo "Rolado às: $hora";
  echo "<br />";
  echo "Rolado no dia: $dia";
  echo "<br />";
//======================
  echo "<br>Dificuldade: $dificuldade";
  if( $rolagem[total] > 0 )
   echo ("<br><br>Resultado: $rolagem[total] sucesso(s).");
   else
  if( $rolagem[total] == 0 )
   echo "<br /><br />Resultado: Falha.";
  else
   echo "<br /><br /><font color='#f00'>Resultado: Falha <u>Crítica</u>.</font>";
 }
 else
  echo "<br><br>Total de dados deve ser diferente de 0.";
}
   echo "<div id='link'>";
  // echo "<p><a href='http://guerrasdaascensao.tk&#039;>Rolar Novamente</a></p>";
   echo "</div>";
   echo "</div>";
function rola_dado( $nDados ) {
 global $rolagem;
 global $dificuldade;
 global $explode;
 $rolagem[n10] = 0;
 for( $i=0; $i<$nDados; $i++ ) {
  $num = rand( 1, 10 );
  if( $num >= $dificuldade )
   $rolagem[nSucesso]++;
  if( $num == 10 )
   $rolagem[n10]++;
  if( $num == 1 )
   $rolagem[nFalha]++;
  echo "[$num] ";
 }
 if( $explode == 1 ) {
  while( $rolagem[n10] != 0 ) {
   echo "<br><br>Explodindo $rolagem[n10] dado(s)...<br>";
   rola_dado( $rolagem[n10] );
  }
 }
 $rolagem[total] = $rolagem[nSucesso] - $rolagem[nFalha];
 return $rolagem;
}

//==========================================

$conexao = mysql_connect("localhost", "ascensao", "123456");
$db = mysql_select_db("ascensao");


$sql_enviar_dado = "INSERT INTO dados (nome, habilidade, nDados, dificuldade, rolagem, explode, ip, horario, dia, hora) VALUES ('$nome', '$habilidade', '$nDados', '$dificuldade', '$rolagem[total]', '$explode', '$ip', '$horario', '$dia', '$hora')";
	$resultado_enviar_noticia = mysql_query($sql_enviar_dado)

?>


Infelizmente eu preciso rolar os dados e obter o resultado no index mesmo, não pode ser em outro lugar... me falaram algo sobre colocar um if($_POST { //gravar dados} mas pra ser bem sincero eu não entendi o que a pessoa quis dizer com isto =(

Desde já agradeço a atenção de todos =D

Lista de Respostas:

Nenhuma resposta foi publicada ainda.

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)