Autor Zpráva
MS90
Profil *
Jednoduchý skript s INSERT INTO

<?php



 $sek = $_GET["sek"];
 $heslo = $_GET["heslo"];
   $mad = $_GET["mad"];
 
 
 
 
$spojeni = mysql_connect('xxx', 'xxx', 'xxx');
if(!$spojeni) {die('Chyba pri pripojeni k databazi!');}
  
$databaze = mysql_select_db('xxx');
if(!$databaze) {die('Chyba pri vyberu databaze!');}


$sql =  "INSERT INTO T_seky (X, Y, Z, Q) values(".$mad.",'".$sek."','".$heslo."',1)";


mysql_query($sql);
mysql_close($spojeni);



?>

Toto vloží správně do tabulky, bohužel to tam vkládá opakovaně, nevíte, kde by mohla být chyba?
lionel messi
Profil
MS90:
nevíte, kde by mohla být chyba?
V úryvku kódu nie je chyba, ktorá by spôsobovala uvedený problém. Okolo uvedeného kódu však zrejme bude nejaký cyklus, ktorý spôsobí toto správanie.

Tiež by som rád upozornil na iné neveľmi dobré návyky:

1. Dáta vkladané do databáze (najmä v prípade užívateľského vstupu) je vhodné escapovať.
2. Písať $sql = "INSERT INTO T_seky (X, Y, Z, Q) values(".$mad.",'".$sek."','".$heslo."',1)"; je úplne zbytočné, ďaleko vhodnejšie je:
$sql =  "INSERT INTO T_seky (X, Y, Z, Q) values($mad, '$sek', '$heslo', 1)";
MS90
Profil *
cyklus tam právě žádný není...

Na stránce index.php

Je jeden select * from ... Následně je tam pouze while ($zaznam1 = mysql_fetch_array($vysledek1)):

V tento cyklus je ukončen příkazen break.

Následně pod tímto je je odkaz na stránku s formulářem, a formulář následně provede tento skript
snazimse
Profil
MS90:

Měl by jsi dodat celý kód tady chyba, která ukazuje na zacyklení není jak říká lionel messi
MS90
Profil *
index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>  
  <head>  
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    <meta name="generator" content="PSPad editor, www.pspad.com">  
    <title>
    </title>  
    <style>     
    </style>  
  </head>  
  <body>     <h1>--</h1>  <h2>---</h2>        
    <div>  <h3>---<h3>  
      <form name="vyber" method="GET">  
        <select name="aa" size="1">  
          <option value="1">1
          <option value="2">2
          <option value="3">3 
        </select>
        <input type="submit" value="Chci">
      </form>
<?php
header('Content-type: text/html; charset=utf-8');

session_start();
$spojeni = mysql_connect('xx.cz', 'xxx', 'xxx');
if(!$spojeni) {die('Chyba pri pripojeni k databazi!');}
  
$databaze = mysql_select_db('xxx');
if(!$databaze) {die('Chyba pri vyberu databaze!');} 
  

  
  $madd = ''; 
if( isset( $_GET['aa'])) {
    $madd = $_GET['aa']; 



$vysledek = mysql_query("SELECT * FROM T_seky where POUZITO=0 and mad=".$madd,$spojeni);
$pocet=0;
while ($zaznam = mysql_fetch_array($vysledek)):  
$pocet= $pocet +1;                               
endwhile;    
$vyber =  mt_rand(1, $pocet); 


$pocet2 = 0;
 
 $vysledek1 = mysql_query("SELECT * FROM T_seky where POUZITO=0 and mad=".$madd,$spojeni);
 while ($zaznam1 = mysql_fetch_array($vysledek1)):  
   
 if  ($pocet2 == $vyber)
 {
   if ($pocet2 >= 1) {break;}
   
 else{
 $id = $zaznam1["ID"];
 $mad = $zaznam1["MAD"]; 
 $sek = $zaznam1["SEK"]; 
 $heslo = $zaznam1["HESLO"]; 
 $POUZITO = $zaznam1["POUZITO"]; 
 break;}}
 else{
  $id = $zaznam1["ID"]; 
  $mad = $zaznam1["MAD"]; 
  $sek = $zaznam1["SEK"]; 
  $heslo = $zaznam1["HESLO"]; 
  $POUZITO = $zaznam1["POUZITO"]; 
  $pocet2= $pocet2 +1; 
 } 

 endwhile;       
   
mysql_close($spojeni);
       
            
            
          
 
?>     

<span class="telo"><b>aaa:</b></span>

<?php
echo $sek;
?>
<br>
<span class="telo"><b>aaa:</b></span>
<?php
echo $heslo;



?>
<br>
<form action="odesli.php">

<textarea style="display:none;" name="id"><?php echo $id;

?></textarea><br>


<textarea style="display:none;" name="sek"><?php echo $sek;

?></textarea><br>

<textarea style="display:none;" name="heslo"><?php echo $heslo;

?></textarea><br>



<input type=submit value="aaa!">
</form>


 <a href="index.php">bbbk</a> <br>

 <a href="/vytvor.php">ccc</a>




<?php 

}
else{echo "--";}
break;
?>
   
    </div>  
  </body>
</html>

Jinak prosím neřeště, jak moc prasácky je to napsané, je to web pouze pro dvě osoby, taková rychlovka


Vytvor.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>
<?php

  header('Content-type: text/html; charset=utf-8'); ?>

  <form action="odesli2.php">



<span class="telo"><b>aaa:</b></span> <textarea name="aaa"></textarea><br>
<span class="telo"><b>bbb:</b></span> <textarea name="bbb"></textarea><br>
 <span class="telo"><b>ccc:</b></span> <select name="ccc" size="1">  
          <option value="1">1
          <option value="2">2
          <option value="3">3 
        </select>

 </textarea><br>

odesli2.php
<?php

header('Content-type: text/html; charset=utf-8');


$headers = "From: xxxx" . "\r\n" .
"CC: xxxx";


 

 $aaa= $_GET["aaa"];
 $bbb= $_GET["bbb"];
   $ccc= $_GET["ccc"];
 
 $zprava = $aaa. '-----' .  $bbb. ' ------ ' .  $ccc;

$prevodni_tabulka = Array(
  'ä'=>'a',
  'Ä'=>'A',
  'á'=>'a',
  'Á'=>'A',
  'à'=>'a',
  'À'=>'A',
  'ã'=>'a',
  'Ã'=>'A',
  'â'=>'a',
  'Â'=>'A',
  'č'=>'c',
  'Č'=>'C',
  'ć'=>'c',
  'Ć'=>'C',
  'ď'=>'d',
  'Ď'=>'D',
  'ě'=>'e',
  'Ě'=>'E',
  'é'=>'e',
  'É'=>'E',
  'ë'=>'e',
  'Ë'=>'E',
  'è'=>'e',
  'È'=>'E',
  'ê'=>'e',
  'Ê'=>'E',
  'í'=>'i',
  'Í'=>'I',
  'ï'=>'i',
  'Ï'=>'I',
  'ì'=>'i',
  'Ì'=>'I',
  'î'=>'i',
  'Î'=>'I',
  'ľ'=>'l',
  'Ľ'=>'L',
  'ĺ'=>'l',
  'Ĺ'=>'L',
  'ń'=>'n',
  'Ń'=>'N',
  'ň'=>'n',
  'Ň'=>'N',
  'ñ'=>'n',
  'Ñ'=>'N',
  'ó'=>'o',
  'Ó'=>'O',
  'ö'=>'o',
  'Ö'=>'O',
  'ô'=>'o',
  'Ô'=>'O',
  'ò'=>'o',
  'Ò'=>'O',
  'õ'=>'o',
  'Õ'=>'O',
  'ő'=>'o',
  'Ő'=>'O',
  'ř'=>'r',
  'Ř'=>'R',
  'ŕ'=>'r',
  'Ŕ'=>'R',
  'š'=>'s',
  'Š'=>'S',
  'ś'=>'s',
  'Ś'=>'S',
  'ť'=>'t',
  'Ť'=>'T',
  'ú'=>'u',
  'Ú'=>'U',
  'ů'=>'u',
  'Ů'=>'U',
  'ü'=>'u',
  'Ü'=>'U',
  'ù'=>'u',
  'Ù'=>'U',
  'ũ'=>'u',
  'Ũ'=>'U',
  'û'=>'u',
  'Û'=>'U',
  'ý'=>'y',
  'Ý'=>'Y',
  'ž'=>'z',
  'Ž'=>'Z',
  'ź'=>'z',
  'Ź'=>'Z'
);
 
$text = strtr($zprava , $prevodni_tabulka);
 
 


$vys = mail("ssss@sss.cz", 'My Subject', $text);


$spojeni = mysql_connect('xxx', 'xxx', 'xxx');
if(!$spojeni) {die('Chyba pri pripojeni k databazi!');}
  
$databaze = mysql_select_db('lysekovakniz6653');
if(!$databaze) {die('Chyba pri vyberu databaze!');}


$sql =  "INSERT INTO T_seky (A, B, C, D) values(".$aa.",'".$bb."','".$ccc."',1)";


mysql_query($sql);
mysql_close($spojeni);



?>
<span class="vybrano"> 
Tak a je to! :)



</span>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0