Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Sfarsitul woke-ismului si al core...

Renovare completa + pompa de cald...

Libre Office nu vad liniile

Modalitați amuzante și ...
 O disparitie de ani buni, Acces D...

Mancarea e scumpa

Parere achiziționare BMW G20

Schimbarea bateriei moderne la VA...
 Rostschreck Lidl

Si noi suntem Florin Piersic? / J...

Rascumparare euroobligatiuni (pri...

Detartraj partial slatina
 Cu ce pot izola fonic peretii pen...

Telefon cu senzor compass BUN

Blocare google chrome cu master p...

Instalare Siemens NX pe macbook
 

problema php

- - - - -
  • Please log in to reply
6 replies to this topic

#1
bunicu9

bunicu9

    Member

  • Grup: Members
  • Posts: 253
  • Înscris: 14.07.2013
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
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,254
  • Înscris: 24.02.2007
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
bunicu9

bunicu9

    Member

  • Grup: Members
  • Posts: 253
  • Înscris: 14.07.2013

View Postdani.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.
Egalul imi adauga in baza de date id-ul utilizatorului care creeaza ticketul.
Incerc sa obtin id ul ticketului care se creeaza si sa il introduc in tabelul ticketmsgs in ticket

#4
Nordstorm

Nordstorm

    Member

  • Grup: Members
  • Posts: 790
  • Înscris: 22.07.2010
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
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
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
bunicu9

bunicu9

    Member

  • Grup: Members
  • Posts: 253
  • Înscris: 14.07.2013
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
Chiril

Chiril

    Active Member

  • Grup: Members
  • Posts: 1,278
  • Înscris: 09.05.2006
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

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate