Jump to content
php.lv forumi

varbut kadam sanaks?


edw

Recommended Posts

man viens liels luhums, vai kads nevaretu saja koda ieviest 2 uzlabojumus...

1. ka ja neaizpilda visus laukus uzcec bridinajums lai tos aizpilda

2. lai rakstot un nospiezot "enter" un pec tam pievienojot rakstu, raksta pec nospiesta enter saktos tekst nakosa rinda....

 

 

kods ir te:

http://paste.php.lv/5392

Link to comment
Share on other sites

2. punks strada, bet 1. ne... :/

 

kad es pielieku klat

if($row->message == "")

{ echo $errornoname; }

else

 

un postoju tuksu postu vins pievinu lauku un tukso lauku aizstaj ar $errornoname!

Edited by edw
Link to comment
Share on other sites

Ja gribi ar javascript, tad liec

if (document.getElementById('message').value == '') { alert('errors') } else { ... }

Ja gribi php, tad:

if (empty($_POST['message'])) { echo "errors"; } else { //pievienojam datus }

Link to comment
Share on other sites

<?php

}
if (empty($_POST['message'])) { echo "$errormessage"; }

else {


$query = "INSERT INTO guests SET message='$message', name='$name', date=NOW(), ip='$ip'";
$result = mysql_query($query);


$ref = $_SERVER['HTTP_REFERER'];

header ("Location: $ref");

}

?>

 

es vinu ieliku sadi, bet man nelauj neko pievienot.... visu laiku pec pievienosanas rada errormessaga

Link to comment
Share on other sites

Faila sākumā viena iekava tāda aizdomīga izskatās. Un vēl tas, ka vienreiz Tu raksti "$_POST['message']", bet otreiz jau pa tiešo izmanto "$message". Varu ieteikt pirms pārbaudes ielikt "print_r($_POST)", un paskatīties, ko rāda.

 

Pēdējā laikā man kaut kā patīk izmantot exceptions visādām lauku pārbaudēm. Ja ir vairāk lauku, tad loģiku rakstīt ar if/else paliek pārāk sarežģīti.

 

if(empty($message)) {
$errorMessage = "Ievadi message!";
throw new ValidationException($errorMessage);
}

 

Apmēram tā.

Edited by black
Link to comment
Share on other sites

Nu tad pirms pārbaudes raksti "$message = _$POST['txtMessage']". Un pārbaude - "if (empty($message)) utt." Problēma, protams, bija tā, ka no HTML formas tiek padots mainīgais 'txtMessage', bet pārbaude tiek veikta mainīgajam 'message'. Varbūt vari pārsaukt formas mainīgo, lai abās vietās ir vienādi. Citādi pēc kādiem 2 mēnešiem atkal nesapratīsi, kāpēc neiet.

Edited by black
Link to comment
Share on other sites

Man vienkārši likās, ka negribēsi visur (pārbaudē, vai arī SQL insertā, ja pārbaude OK) rakstīt to POST masīvu. Tāpēc ērtāk būtu izveidot lokālu mainīgo, kam sākumā piešķir vērtību no POST, un tad visur arī izmanto. Tas, protams, der tikai tādā gadījumā, ja POST masīvs vienmēr saturēs 'message' mainīgo.

 

Ieliec tieši vienu rindiņu pirms pārbaudes.

Link to comment
Share on other sites

if(empty($message)) {
$errorMessage = "Ievadi message!";
throw new ValidationException($errorMessage);
}

 

Apmēram tā.

 

sis darbojas tik vins man visu laiku rada so

Fatal error: Class 'ValidationException' not found

 

ja tiktu no si vala butu ideali... ;)

Link to comment
Share on other sites

Kā ta nu gūglē nav, ka ir: http://www.google.com/search?q=php+class+not+found

Tas nozīmē tieši to, ko tas saka - NOT FOUND = nav atrasta. Tb tāda ValidationException klase nav atrasta.

Iedomājies tev ir php kods:

$a = 2;
echo $b + 2;

Ko izvadīs echo? Atbilde: neko prātīgu - jo $b mainīgais nav definēts! Tieši tāpat ir ar tavu ValidationException - php nezin kas tas tāds ir un par to arī sūdzas.

Link to comment
Share on other sites

×
×
  • Create New...