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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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