problema php
Last Updated: Mar 17 2017 22:50, Started by
bunicu9
, Dec 28 2016 20:01
·
0
#1
Posted 28 December 2016 - 20:01
if( @!$_POST['ticket']['creator_int'] = $_SESSION['user_id'] OR @!$_POST['ticket']['subject_str'] OR @!$_POST['msgticket']['message'] ) { return $this->info( '', $this->language("MISSING_FIELDS"), 'warning', true, $this->url . 'tickets/add', '3000' ); } # A hack.. if (@!$_POST['ticket']['status_int']) $_POST['ticket']['status_int'] = 0; $do = $this->db->query( # Builds SQL syntax $this->forms->sqlInsert($this->forms->bindList($_POST['ticket']), $this->prefix('tickets')), # Builds Bind list $this->forms->bindList($_POST['ticket']) ); $tid = $this->db->mysql_insert_id(); if ($do) { $sql = $this->db->query( "INSERT INTO ticketmsgs (ticket, message, time, admin) VALUES ('".$tid."', '".$_POST['msgticket']['message']."', 'now()', '0')" ); } Incerc sa introduc in baza de date ticketmsgs in ticket id-ul de la baza de date tickets. Am incercat cu $tid = $this->db->mysql_insert_id(); si imi da eroare Tabele CREATE TABLE `ticketmsgs` ( `msgid` int(10) unsigned NOT NULL AUTO_INCREMENT, `ticket` int(10) unsigned NOT NULL, `message` text NOT NULL, CREATE TABLE `tickets` ( `ticketid` int(10) unsigned NOT NULL AUTO_INCREMENT, `subject` varchar(255) NOT NULL, `creator` int(10) unsigned NOT NULL, |
#2
Posted 28 December 2016 - 20:20
Nu stim ce eroare iti da
Nu stim ce fac $this->db->... (n-ai atasat codul acela) Compunerea interogarii la modul acela iti creaza o vulnerabilitate severa (oricine iti sparge baza de date in cateva minute) Egalul din primul rand e tot acolo, 99% o scapare care nu face ce crezi ca face. Edited by dani.user, 28 December 2016 - 20:22. |
#3
Posted 28 December 2016 - 21:41
dani.user, on 28 decembrie 2016 - 20:20, said:
Nu stim ce eroare iti da Nu stim ce fac $this->db->... (n-ai atasat codul acela) Compunerea interogarii la modul acela iti creaza o vulnerabilitate severa (oricine iti sparge baza de date in cateva minute) Egalul din primul rand e tot acolo, 99% o scapare care nu face ce crezi ca face. Incerc sa obtin id ul ticketului care se creeaza si sa il introduc in tabelul ticketmsgs in ticket |
#4
Posted 28 December 2016 - 23:21
Prima oara, pune si un echo pe linia asta:
"INSERT INTO ticketmsgs (ticket, message, time, admin) VALUES ('".$tid."', '".$_POST['msgticket']['message']."', 'now()', '0')" Iei output-ul lui echo si il executi mot-a-mot in softul cu care administrezi baza de date: phpmyadmin, heidisql, mysql workbench, etc. Vezi daca da acolo vreo eroare. Apoi mai vedem. Edited by Nordstorm, 28 December 2016 - 23:24. |
#5
Posted 28 December 2016 - 23:23
Ti sa spus, ai o gramada de cod din alte librarii. Nu ai postat codul sau nu ai zis din ce framework face parte.
In al doilea rand inserezi in baza de date cod direct din POST $sql = $this->db->query( "INSERT INTO ticketmsgs (ticket, message, time, admin) VALUES ('".$tid."', '".$_POST['msgticket']['message']."', 'now()', '0')" );Asta tia zis dani.user. Nu te obisnui sa suprimi erorile "@", cine stie ce alte erori suprimi . Poti folosii isset , empty sau noutatea aia in php 7 null coalesce operator pt a verifica imputul din post si sa construiesti un array cu erorile. Edited by danutz0501, 28 December 2016 - 23:29. |
#6
Posted 29 December 2016 - 18:26
Eu incerc sa obtin id-ul care s-a introdus in tickets si sa il introduc in ticketmsgs.
Am incercat: $tid = mysql_insert_id(); printf ("id %d.\n", $tid);Imi da id 0. |
#7
Posted 17 March 2017 - 22:50
nu ar trebui sa ii transmiti conexiunea ?
mysql_insert_id($conexiunea); sau mysql_insert_id($this->db); |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users