Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
LinkyB
HV kasutaja
liitunud: 19.06.2005
|
20.07.2009 16:33:52
PHP prog. |
|
|
Kuidas saan järgnevas koodis teha sellise lisa, et kui insertimine failib tänu tühjadele väljadele, siis kustutab selle viimase sisestatud ID tabelist või kuidas teha üldse nii, et ta ei lisakski tabelisse ID kui feilib.
php:
|
if(! $conn ) { } if (empty($_POST["nimi"])) { print 'PS! Nimi puudus!<br>'; $die= 1; } if (empty($_POST["vanus"])) { print 'PS! Sünniaasta puudus!<br>'; $die= 1; } if (empty($_POST["elukoht"])) { print 'PS! Elukoht puudus!<br>'; $die= 1; } if (empty($_POST["kuulutus"])) { print 'PS! Kuulutus puudus!<br>'; $die= 1; } { if ($die != 1) { $nimi = $_POST['nimi']; $vanus = $_POST['vanus']; $elukoht = $_POST['elukoht']; $kuulutus = $_POST['kuulutus']; $class= $_POST['class']; $ip = $_SERVER['REMOTE_ADDR']; } $sql = "INSERT INTO kuulutused ". "(nimi,vanus,elukoht,kuulutus,class,ip) ". "VALUES ". "('$nimi','$vanus','$elukoht','$kuulutus','$class','$ip')"; if(! $retval ) { } if ($die != 1) { printf("Kuulutus lisatud edukalt, aktiveerimseks saada sõnum sisuga FOR DATE %d\n numbrile 13011. SMS hind 15 eek, kuulutuse kustutamiseks saada sama sisuga sms!", mysql_insert_id()); } } else { } ;
|
_________________ [img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:] |
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
0 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.07.2009 17:00:18
|
|
|
Sul ei tohiks ju üldse sql osani jõuda kui mõni neist neljast tühi on ?
Tegin natuke korrektuuri ka koodis.
php:
|
<?php if(!$conn) { } $die = false; if (empty($_POST["nimi"])) { print 'PS! Nimi puudus!<br>'; $die = true; } if (empty($_POST["vanus"])) { print 'PS! Sünniaasta puudus!<br>'; $die = true; } if (empty($_POST["elukoht"])) { print 'PS! Elukoht puudus!<br>'; $die = true; } if (empty($_POST["kuulutus"])) { print 'PS! Kuulutus puudus!<br>'; $die = true; } { if ($die === false} { $nimi = $_POST['nimi']; $vanus = $_POST['vanus']; $elukoht = $_POST['elukoht']; $kuulutus = $_POST['kuulutus']; $class= $_POST['class']; $ip = $_SERVER['REMOTE_ADDR']; $sql = "INSERT INTO kuulutused (nimi,vanus,elukoht,kuulutus,class,ip) VALUES ('$nimi','$vanus','$elukoht','$kuulutus','$class','$ip')"; if(!$retval) { } printf("Kuulutus lisatud edukalt, aktiveerimseks saada sõnum sisuga FOR DATE %d\n numbrile 13011. SMS hind 15 eek, kuulutuse kustutamiseks saada sama sisuga sms!", mysql_insert_id()); } } ?>
|
viimati muutis mikk36 20.07.2009 17:01:07, muudetud 1 kord |
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
LinkyB
HV kasutaja
liitunud: 19.06.2005
|
20.07.2009 17:00:46
|
|
|
Kuidas ma ta surema panen seljuhul?
_________________ [img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:] |
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
0 |
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
20.07.2009 17:45:03
|
|
|
LinkyB,
Aga mikk36 poolt toodud koodis peakski kõik loogiliselt ok olema (kui sql injection feature välja arvata millest saaks mööda mysql_real_escape_string() funci kasutades).
Sinu poolt ennem antud koodis oli lihtsalt loogika vigane:
kontrollime kas väljad on tühjad
ehitame sql insert kokku
teeme inserti ära
kui väljad olid tühjad näitame errorit ja teeme die
(kui veel aru ei saanud, siis errori kuvamine ja die tegemine oli jumala mööda kohas)
Muutes järjekorda:
kontrollime kas väljad on tühjad
kui väljad olid tühjad näitame errorit ja teeme die (proge läheb kinni, loogika edasi ei lähe)
ehitame sql insert kokku
teeme inserti ära
Hakkab kõik tööle.
Siinkohal tekib aga küsimus, et miks sellise labase loogikavea kirjutaja üldse vastutab mingite tasuliste teenuste tegemise eest ?
Kui muu kood on samamoodi apsakaid täis, siis kes korvab apsakatest tuleneva rahalise kahju kasutajatele ?
_________________ Upload.ee - eestimaine failiupload |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
LinkyB
HV kasutaja
liitunud: 19.06.2005
|
21.07.2009 15:19:27
|
|
|
Mis jama on kuidas saan tööle sms chat nii, et adressireal aksepteeriks täpitähi ka?
http://linkz.pri.ee/smschat.php?message=lol teen nii t66tab k6ik perfektselt AGA -> http://linkz.pri.ee/smschat.php?message=lol teen nii t66tab siiani kuni topin ä tähe ja nüüd seda texti ei näe juba siin alates ä tähest? Kas ainult läbi adressiriba ei tööta või ka läbi sms mitte?!
php-brief:
|
<? mysql_set_charset('utf8'); $text=$_GET['message']; if($text!=''){ mysql_query("INSERT INTO sms VALUES(NULL, '". $text. "', NOW())"); echo 'Tekst edukalt edastatud!'; }else{ $newtext = wordwrap($text, 20, "<br />\n"); $q= mysql_query("SELECT * FROM sms ORDER BY id DESC LIMIT 5"); echo '<table border=0><td><div align="center"><span class="style3"><b>SMS CHAT:</b></span></div></td> </tr>'; echo '<td><div align="center"><span class="style3">'. $rida['sisu']. '</span></div></td> </tr>'; } } ?>
|
_________________ [img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:] |
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
0 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
21.07.2009 17:21:47
|
|
|
Kasuta urlencode()
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
LinkyB
HV kasutaja
liitunud: 19.06.2005
|
22.07.2009 13:16:28
|
|
|
Keegi oskab öelda kus leian vanuse piirangu sellise, et indexil tuleb lihtsalt popup 18+ yes or no , yes = lisab cookie, et järgmine kord ei küsiks ja siis kui no siis suunab minema lehelt. Netist täpselt sellist ei leidnud, ehk keegi teab.
_________________ [img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:] |
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
0 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
22.07.2009 13:23:02
|
|
|
Javascript popupiga küsid kasutajalt ja siis vastavalt kas salvestad cookie selle kohta (javascriptiga annab seda teha), edaspidi kontrollid php'ga et kas antud cookie on olemas või mitte.
Pole mõtet otsida spetsiifilist 18+ cookiet, otsi generic tutoriale / dokumentatsioone ja tekita ise midagi kokku.
Kui sa kõiki selliseid ülilihtsaid asju üritad netist leida, siis suurt midagi asjalikku sa ei õpi ja ega kokku lendav süsteem ka ilus ei saa olema.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
LinkyB
HV kasutaja
liitunud: 19.06.2005
|
22.07.2009 13:29:22
|
|
|
Mõte on hea, aga javascript on keeruline ja pole tegelikkuses üldse soovi seda õppida
_________________ [img:]https://foorum.hinnavaatlus.ee/images/200x40_HV.gif[/img:] |
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
0 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
22.07.2009 18:26:32
|
|
|
Kui vebi tahad kirjutada, on JS ja PHP peaaegu mõlemad vajalikud. Üks toimetab masinas, teine serveris. Tee siis sama PHP s saad ju ka. Küsid form sees vanust saadad, võtad vastu kui sobib teed coocie kui ei suunad ümber.
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
|