Pereiti prie turinio

Rekomenduojami pranešimai

<html>
<head>
<title> Ačiū </title>
<link rel="StyleSheet" href="style.css" type="text/css" media="screen">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?php
$conectas = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("bandymai", $conectas);
?>
<?php
echo "<div id='wrapper'><div id='backas'>";
$prekes = "";
$i = 0;
IF(isset($_POST['box'])) {
$box = $_POST['box'];
while (list ($key,$val) = @each ($box)) { 
$i++;
$prekes .= $val.", "; 
if ($i >= 6) { echo "Per daug prekių ( max 6 ).";
			exit; }
}} else { echo "<b>Nepasirinkote prekių</b><br>"; }
echo "<br><br>";
IF(isset($_POST['vardas'],$_POST['email'],$_POST['telnr'],$_POST['miestas'],$_POST['pastas'])) {
$vardas = $_POST['vardas'];
$email = $_POST['email'];
$telnr = $_POST['telnr'];
$miestas = $_POST['miestas'];
$adresas = $_POST['adresas'];
$pastas = $_POST['pastas'];
echo "Jūsų duomenys:<br>";
echo "Vardas: $vardas<br>";
echo "Email: $email<br>";
echo "Telefono numeris: $telnr<br>";
echo "Miestas: $miestas<br>";
echo "Adresas: $adresas<br>";
echo "Paštas: $pastas<br>";
echo "Prekes: $prekes<br>";
$result = mysql_query("SELECT * FROM pardavimai", $conectas); 
$num_rows = mysql_num_rows($result); 
$id = $num_rows + 1;
mysql_select_db("bandymai", $conectas);
mysql_query("
INSERT INTO `bandymai`.`pardavimai` (
`id` ,
`vardas` ,
`email` ,
`Telefono numeris` ,
`Miestas` ,
`Adresas` ,
`Pasto kodas` ,
`Prekes` 
)
VALUES (
'$id', '$vardas', '$email', '$telnr', '$miestas', '$adresas', '$pastas', '$prekes'
) ") or die("<b><font color='red'>Kažkas įvesta blogai! patikrink viską</font><br><br><br><br><FORM><INPUT TYPE='button' class='back' VALUE='' onClick='history.go(-1);return true;'></FORM></b>");
}

echo "</div><img src='images/grla.png' /></div>";
mysql_close($conectas);
?>

 

Kodėl nemeta erroro jei neviskas būna suvesta ;/ turėtų mest mysql errorą bet... padėkit ačiū bus.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Parse error: syntax error, unexpected T_IS_NOT_EQUAL in /home/graffiti/aciu.php on line 24

 

Pamėgink taip: if(isset($_POST['vardas'],$_POST['email'],$_POST['telnr'],$_POST['miestas'],$_POST['pastas'])) != 0 {

Redagavo raima220
Nuoroda į pranešimą
Dalintis kituose puslapiuose
<?php
$conectas = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("bandymai", $conectas);

echo "<div id='wrapper'><div id='backas'>";
$prekes = "";
$i = 0;
IF(isset($_POST['box'])) {
$box = $_POST['box'];
while (list ($key,$val) = @each ($box)) { 
$i++;
$prekes .= $val.", "; 
if ($i >= 6) { echo "Per daug prekiu ( max 6 ).";
                               exit; }
}
}
else { echo "<b>Nepasirinkote prekiu</b><br>"; }
echo "<br><br>";
if(isset($_POST['vardas']) AND isset($_POST['email']) AND isset($_POST['telnr']) AND isset($_POST['miestas']) AND isset($_POST['pastas'])) {
$vardas = $_POST['vardas'];
$email = $_POST['email'];
$telnr = $_POST['telnr'];
$miestas = $_POST['miestas'];
$adresas = $_POST['adresas'];
$pastas = $_POST['pastas'];
echo "Jusu duomenys:<br>";
echo "Vardas: $vardas<br>";
echo "Email: $email<br>";
echo "Telefono numeris: $telnr<br>";
echo "Miestas: $miestas<br>";
echo "Adresas: $adresas<br>";
echo "Paštas: $pastas<br>";
echo "Prekes: $prekes<br>";
$result = mysql_query("SELECT * FROM pardavimai", $conectas); 
$num_rows = mysql_num_rows($result); 
$id = $num_rows + 1;
mysql_select_db("bandymai", $conectas);
mysql_query("
INSERT INTO `bandymai`.`pardavimai` (
`id` ,
`vardas` ,
`email` ,
`Telefono numeris` ,
`Miestas` ,
`Adresas` ,
`Pasto kodas` ,
`Prekes` 
)
VALUES (
'$id', '$vardas', '$email', '$telnr', '$miestas', '$adresas', '$pastas', '$prekes'
) ") or die("Ivyko mysql klaida");
}
else
{
echo "<b><font color='red'>Kažkas ivesta blogai! patikrink viska</font><br><br><br><br><FORM><INPUT TYPE='button' class='back' VALUE='' onClick='history.go(-1);return true;'></FORM></b>";
}

echo "</div><img src='images/grla.png' /></div>";
mysql_close($conectas);
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose
!= 0 {
- Jei laukai neužpildyti jam error'o vistiek nemes, nes != 0 patikrina ne laukus, o ar buvo inputu POST'as, tai tas != 0 išvis ne į temą.

 

Teisingai darant, reikėtų daryti taip, pvz:

 

<?php
if(isset($_POST['submitButton'])){
 if($_POST['vardas'] && $_POST['email'] && $_POST['telnr'] && $_POST['miestas'] && $_POST['pastas'] !== ""){
   echo "OK";
 }
}
?>
<form method="post" action="">
 <input type="submit" name="submitButton" value="submit" />
</form>

 

arba

 

if(isset($_POST['submitButton'])){
 if(!empty($_POST['vardas']) && !empty($_POST['email']) && !empty($_POST['telnr']) && !empty($_POST['miestas']) && !empty($_POST['pastas'])){
 echo "OK";
 }
}

 

Kiekvieną POST/GET elementą reikėtų uždėti bent jau escapinti su mysql_real_escape_string(); pvz.: $name = mysql_real_escape_string(trim($_POST['name'])); - arba naudoti savo funkciją, kad išvengtum SQL injectiono:)

 

Patikrini ar paspaustas button'as (submit), jei taip, tada tikrini laukelius pvz:

if(isset($_POST['submitButton'])){
 // <...>

 // Kaip pavyzdys
 $errors = null;

 if($category == '0'){
   $errors[] = "Pasirinkite kategoriją";
 }

 if($title == ''){
   $errors[] = "Neįrašytas pavadinimas arba jis yra pertrumpas";
 }

 // Jeigu yra klaidu
 if(is_array($errors)){
   while(list($key, $value) = each($errors)){
     echo "KLAIDA: " . $value . "<br />\r\n";
   }
 }
}

 

Beje, kaip darai ką nors viršuje parašyk error_reporting(E_ALL), o po kiekvieno mysql_query() or die(mysql_error()); tai bent žinosi kur klaida. MySQL error'ą meta tik tada, kai nepavyksta įrašyti į duombazę pvz dėl blogo mysql_query, o ne kad tušti input'ai. Tai va, o čia daugmaš kaip turėtum daryti: http://pastebin.com/r3WKVUCJ - netikrinau, bet turėtų veikti, jei ne, tai rašyk kokią klaidą gausi. ;)

Redagavo Domus
Nuoroda į pranešimą
Dalintis kituose puslapiuose

ne čia klaida?

if ($i >= 6) { echo "Per daug prekių ( max 6 ).";
                               exit; }}} 

Bent man tai čia atrodo per daug skliaustų...

ir kai kuri naują ifą geriau tab paspausk, nes dabar labai nesmagu žiūrėt kodą, nes nematai kur jis pasibaigia.

Pvz:

if(isset($_POST['submit']))
{
  if($_POST['vardas'])
  {
      echo "Įvedei vardą.";
  }
}

Redagavo doncatas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kiekvieną POST/GET elementą reikėtų uždėti bent jau escapinti su mysql_real_escape_string(); pvz.: $name = mysql_real_escape_string(trim($_POST['name'])); - arba naudoti savo funkciją, kad išvengtum SQL injectiono:)

 

+1. Nesuprantu, kone kiekvienas kodas, kurį matau šitam forume turi SQL injekciją. Tokių dalykų tiesiog praleisti negalima, čia viena banaliausių skylių :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

- Jei laukai neužpildyti jam error'o vistiek nemes, nes != 0 patikrina ne laukus, o ar buvo inputu POST'as, tai tas != 0 išvis ne į temą.

 

Teisingai darant, reikėtų daryti taip, pvz:

Labai labai ačiū :)

Redagavo litas
Nereikalinga ilga citata
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...