Autor | Zpráva | ||
---|---|---|---|
MS90 Profil * |
#1 · Zasláno: 17. 6. 2015, 21:34:14
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 |
#2 · Zasláno: 17. 6. 2015, 21:54:50
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 * |
#3 · Zasláno: 17. 6. 2015, 22:26:32
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 |
#4 · Zasláno: 17. 6. 2015, 23:03:06
MS90:
Měl by jsi dodat celý kód tady chyba, která ukazuje na zacyklení není jak říká lionel messi |
||
MS90 Profil * |
#5 · Zasláno: 17. 6. 2015, 23:13:43 · Upravil/a: MS90
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> |
||
Časová prodleva: 9 let
|
0