Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1870 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, duomenų bazėje neatsiranda įvestas atsakymas, tikiuosi kažkas galėsite padėti,

Viršuje turiu šitą:

mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', NULL)");
    if(isset($_POST['atsakymas']) ){
        $atsakymas = htmlentities(mysqli_real_escape_string($link, $_POST['atsakymas']));
        mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', '$atsakymas')");
        
        }

Įvedimui turiu šitą:

                                                <?php  
                                                if($rows['inputas'] == NULL){
                                                } else {?>
                                                <form method="POST" >
                                                <div class="col-md-12">
                                                <div class="h5 font-w300"><?=$rows['inputas'];?></div>
                                                <hr>
                                                <input class="form-control input-lg text-center js-maxlength" type="text" name="atsakymas" required placeholder="Informacija pardavėjui" maxlength="50" data-threshold="5" data-warning-class="label label-primary" data-limit-reached-class="label label-danger" style="font-size: 18px;">
                                                <hr>
                                                </div>
                                                </form>
                                                <?php } ?>

Ir pabaigai šitą:

        $('#buy').html('<form method="post"><button class="btn btn-minw btn-success" name="buy_funk2" type="submit">Apmokėti iš balanso</button></form>');

Bet duomenų bazėje atsiranda tusčias langelis(default NULL), galbūt kažkur ne vietoje POST dalį padėjęs, nebesuprantu 

  • ,
52 minutes prieš, LaurynasJ parašė:

image.png.a084113dca06d4464573680a5f1aed2d.png

Manau problema gali būti, nes rašai NULL į id vietą. Id yra auto_increment, todėl ten nieko neturi rašyti, tačiau jei ištrinsi tą pirmą NULL, gali būti, jog neveiks, nes pateikiamų argumentų skaičius mažesnis nei lenteleje. Pabandyk iš pradžių ištrinti NULL tą patį pirmą, jeigu neveiks, tada dar paduok visus argumentų pavadinimus prieš "VALUES"

Whether you think you can or you think you can't, you're right

5 minutes prieš, Inn#Progress parašė:

Manau problema gali būti, nes rašai NULL į id vietą. Id yra auto_increment, todėl ten nieko neturi rašyti, tačiau jei ištrinsi tą pirmą NULL, gali būti, jog neveiks, nes pateikiamų argumentų skaičius mažesnis nei lenteleje. Pabandyk iš pradžių ištrinti NULL tą patį pirmą, jeigu neveiks, tada dar paduok visus argumentų pavadinimus prieš "VALUES"

Nemanau, kad čia bėda, šiaip veikė viskas visada, bet dabar tą atsakymas stulpelį pridėjau ir tik jis neveikia, visi kiti veikia kaip ir veikė įprastai. Manau kad tą pirmą kodo dalį netinkamoje vietoje esu įdėjęs, bet nežinau ir kaip patikrinti :D virš INSERT VALUES tos pirmos kodo dalies yra realiai tik visoki 

$resultsss = $link -> query("SELECT * FROM `product` WHERE products='".intval($_GET['id'])."' LIMIT 1" );
$filer = $resultsss -> fetch_assoc();

toki ir tikrinimų keletas, arba ne to klausi, pakankamai naujas dalykas man dar čia viskas :D

prieš 2 valandas(-ų), Inn#Progress parašė:

Manau problema gali būti, nes rašai NULL į id vietą. Id yra auto_increment, todėl ten nieko neturi rašyti, tačiau jei ištrinsi tą pirmą NULL, gali būti, jog neveiks, nes pateikiamų argumentų skaičius mažesnis nei lenteleje. Pabandyk iš pradžių ištrinti NULL tą patį pirmą, jeigu neveiks, tada dar paduok visus argumentų pavadinimus prieš "VALUES"

Pagal MySQL standartą, turėtum nurodyti ID (auto increment) būtent NULL. Žinoma, veiks ir be jo, tačiau tai rekomendacija.

Dar tikrinu problemą.

Patikrinau. Panašu, kad nesupratai kaip veikia isset funkcija.

if(isset($_POST['atsakymas']) ){

Tu pateiki <input> visada. Jo neslepi. Reiškiasi naršyklė išsiųs užklausą ir $_POST. Dėl to praeina pro if. Pakeisk isset į empty ir susitvarkys problema.

if (isset...) skirtas įvykdyti kažką, jeigu nesi tikras ar tai egzistuoja. Žinoma, kartais ir dėl saugumo. Pvz, vartotojas gali pašalinti su inspect element laukelį, tada be isset tau PHP išmestų warning. Bet if (empty...) irgi tą patikrina, tuo pačiu ar nėra tuščias.

20 minutes prieš, NTQ parašė:

Pagal MySQL standartą, turėtum nurodyti ID (auto increment) būtent NULL. Žinoma, veiks ir be jo, tačiau tai rekomendacija.

Dar tikrinu problemą.

Patikrinau. Panašu, kad nesupratai kaip veikia isset funkcija.


if(isset($_POST['atsakymas']) ){

Tu pateiki <input> visada. Jo neslepi. Reiškiasi naršyklė išsiųs užklausą ir $_POST. Dėl to praeina pro if. Pakeisk isset į empty ir susitvarkys problema.

if (isset...) skirtas įvykdyti kažką, jeigu nesi tikras ar tai egzistuoja. Žinoma, kartais ir dėl saugumo. Pvz, vartotojas gali pašalinti su inspect element laukelį, tada be isset tau PHP išmestų warning. Bet if (empty...) irgi tą patikrina, tuo pačiu ar nėra tuščias.

Pakeitus isset į empty, sukuria 2 įrašus vienodus duomenų bazėje, bet tekstas vis tiek neįsirašo.
Visiškai naujas dalykas man PHP lipdžiau tiesiog viską iš jau randamų kode gabalų ir viskas pavyko iki šios vietos, žinoma nežinau kiek tai teisingai padaryta kur aš dariau, bet lyg ir veikia taip kaip turėtų

Galėtų gal kažkas per teamviewer kokį pažiūrėti ar atsiųsčiau failą ir pažiūrėti ? Neprašau to padaryti už mane, tiesiog dėl aiškumo 

1 minute prieš, LaurynasJ parašė:

Pakeitus isset į empty, sukuria 2 įrašus vienodus duomenų bazėje, bet tekstas vis tiek neįsirašo.
Visiškai naujas dalykas man PHP lipdžiau tiesiog viską iš jau randamų kode gabalų ir viskas pavyko iki šios vietos, žinoma nežinau kiek tai teisingai padaryta kur aš dariau, bet lyg ir veikia taip kaip turėtų

Galėtų gal kažkas per teamviewer kokį pažiūrėti ar atsiųsčiau failą ir pažiūrėti ? Neprašau to padaryti už mane, tiesiog dėl aiškumo 

if (!empty(...)) { ... } – taip pakeisk. Būtinai šauktuką pridėk.

Visa kita gerai.

$rows['title']

$user['email']

Kam šiti priklauso? Nepateikia pilno kodo. Kažkas aukščiau kelia problemą dėl to tuštumo.

mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', NULL)");

 

Šitą pirmąjį INSERT šalink. 2 kartus įterpia, nes tu ir rašai 2 kartus.

$answer = '';

if (!empty($_POST['atsakymas'])) {

$answer = $_POST['atsakymas'];

}

$atsakymas = htmlentities(mysqli_real_escape_string($link, $_POST['atsakymas']));
        mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', '$answer')");

Tą aukštesnį if pašalink.

11 minutes prieš, NTQ parašė:

$rows['title']

$user['email']

Kam šiti priklauso? Nepateikia pilno kodo. Kažkas aukščiau kelia problemą dėl to tuštumo.


mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', NULL)");

 

Šitą pirmąjį INSERT šalink. 2 kartus įterpia, nes tu ir rašai 2 kartus.

$answer = '';

if (!empty($_POST['atsakymas'])) {

$answer = $_POST['atsakymas'];

}


$atsakymas = htmlentities(mysqli_real_escape_string($link, $_POST['atsakymas']));
        mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', '$answer')");

Tą aukštesnį if pašalink.

$resultss = $link -> query("SELECT * FROM `products` WHERE id='".intval($_GET['id'])."'" );
$rows = $resultss -> fetch_assoc();

$resulte = $link->query("SELECT * FROM `users` WHERE id='".$rows['users']."'");
$rowe = $resulte->fetch_assoc();

Aš 2 INSERT padaręs, kadangi ne visiems taikoma tas papildomas langelis su atsakymu, gal eitų ir kažkaip protingiau padaryti, bet taip dariau.

$answer = '';

if (!empty($_POST['atsakymas'])) {

$answer = $_POST['atsakymas'];

}

Pagal šitą HTTP 500 ERROR, arba kažkaip blogai sudėliojau

 

27 minutes prieš, LaurynasJ parašė:

$resultss = $link -> query("SELECT * FROM `products` WHERE id='".intval($_GET['id'])."'" );
$rows = $resultss -> fetch_assoc();

$resulte = $link->query("SELECT * FROM `users` WHERE id='".$rows['users']."'");
$rowe = $resulte->fetch_assoc();

Aš 2 INSERT padaręs, kadangi ne visiems taikoma tas papildomas langelis su atsakymu, gal eitų ir kažkaip protingiau padaryti, bet taip dariau.

$answer = '';

if (!empty($_POST['atsakymas'])) {

$answer = $_POST['atsakymas'];

}

Pagal šitą HTTP 500 ERROR, arba kažkaip blogai sudėliojau

 

Pas tave suvelta ten daug kas.

$link->query – objektinis MySQL, nors vienur naudoji procedūrinį. Tai čia neveiktų tokie dalykai, nebent apsirašei 2 tokį patį prisijungimą (tai kam naudoti procedūrinį tada)?

Na, žinoma ir duomenų bazės projektavimo klaida. Atsakymai, komentarai – privalo būti kaip atskira lentelė, bet susieti su pagr. lentelės ID.

Perdaryk šitus.

--

Patikrink ar iš viso masyvai turi kokią nors reikšmę su

var_dump($rows);

var_dump($user);

Dėl apache 500 klaidos, įjunk PHP error rodymą.

42 minutes prieš, NTQ parašė:

Pas tave suvelta ten daug kas.

$link->query – objektinis MySQL, nors vienur naudoji procedūrinį. Tai čia neveiktų tokie dalykai, nebent apsirašei 2 tokį patį prisijungimą (tai kam naudoti procedūrinį tada)?

Na, žinoma ir duomenų bazės projektavimo klaida. Atsakymai, komentarai – privalo būti kaip atskira lentelė, bet susieti su pagr. lentelės ID.

Perdaryk šitus.

--

Patikrink ar iš viso masyvai turi kokią nors reikšmę su

var_dump($rows);

var_dump($user);

Dėl apache 500 klaidos, įjunk PHP error rodymą.

Okay, ties čia jau mano žinios ir baigės :D šiaip visur naudojami tie $link->query tai tikriausiai mano dalyje naudojama kažkas ne tokio ?(mano ta dalis įvedimui skirta)  ištryniau tuos ifus viską palikau paprasčiausiai
 

	$atsakymas = htmlentities(mysqli_real_escape_string($link, $_POST['atsakymas']));
	mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', '$atsakymas')");

image.thumb.png.13856ac3a99267ac5a56afb8e351a548.png

tie kiti kaip ir veikia, nes išsaugo viską išskyrus tą mano naują dalį, kuri lieka tusčia

Nelabai suprantu kiek tu čia jau visko pakeitei ir kas dar tau neveikia.

Dėl prodedūrinio ir objektinio php tai atsidaryk https://www.php.net/ ir kiekvieną savo procedūrinę funkciją perrašyk į objektinę.

Taip pat gal nevisai suprantu ką tam tikrais kodo fragmentais nori pasiekti, bet man atrodo, kad ta tavo pirma dalis, turėtų būti maždaug tokia, tik funkcijas kaip minėjau pasiekisk:

if(!empty($_POST['atsakymas'])) {
	$atsakymas = htmlentities(mysqli_real_escape_string($link, $_POST['atsakymas']));
	mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', '$atsakymas')");
} 
else {
	mysqli_query($link, "INSERT INTO sells VALUES(NULL, '".$rows['title']."', '".$user['email']."', '".$rows['users']."', '$date', '$price', '$promo', '+$sum', 'otzuv', NULL)");
}

Na ir jei dar pasakytum kas neveikia, pabandyčiau padėt, šiaip gali ir į pm rašyti.

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1870 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai



×
×
  • Sukurti naują...