formulier maakt steeds nieuwe tabel aan

Pagina: 1
Acties:

Onderwerpen


  • DaRk PoIsOn
  • Registratie: Oktober 2002
  • Laatst online: 01-11 23:32
Beste allemaal,

Ik heb middels coffeecup web form builder een formulier gemaakt.

Op dit formulier vul je de NAW gegevens in, en het script moet dit toevoegen aan een tabel.
Het script voegt echter niets toe aan TABLE 1 maar maakt iedere keer een nieuwe table 1 aan.
Ik krijg dus:

TABLE 1: nieuwe gegevens.
TABLE 1_old met eerdere gegevens
TABLE 1_old1 met nog oudere gegevens.


Ik denk zelf dat hier:

/**
* Create a MySQL table from the form structure.
*
* Uses the structure of the form, pulled from the XML preferences
* file to create a database table to store the form results.
*
* @param resource $form_fields the structure of the form
* @param resource $link a database resource
*/
function createTableFromFormFields($form_fields, $link)
{
mysql_query("DROP TABLE IF EXISTS `" . CC_FB_DB_TABLE . "`", $link);

$query = 'CREATE TABLE `' . CC_FB_DB_TABLE . '` (
`id` int(11) NOT NULL auto_increment,
`created_at` DATETIME NOT NULL';

if(CC_FB_ATTACHMENT_SAVETODB)
{
$query .= ",`uploaded_file_name` varchar(255) NOT NULL DEFAULT ''
,`uploaded_file` MEDIUMBLOB NOT NULL";
}

foreach($form_fields as $field_name => $field)
{
$query .= ",\n `$field_name` " .
($field['type'] == 'textarea' ? 'text' : 'varchar(255)') .
" NOT NULL DEFAULT ''";

De fout in zit maar als ik dit verwijder werkt het script niet meer :S

who put a "stop payment" on my reality check


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je code post, gebruik dan code tags a.u.b.
Verder lijkt 't me nou niet de bedoeling dat je elke keer als je een formulier post dat je een nieuwe tabel aanmaakt; deze code lijkt me dan ook iets wat maar eenmalig uitgevoerd zou moeten worden. Ik ken coffecup niet maar wat zegt de manual? Sowieso lijkt me dit nogal gevoelig voor SQL injections...

[ Voor 13% gewijzigd door RobIII op 27-12-2011 20:45 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Switchie
  • Registratie: April 2009
  • Niet online

Switchie

Mr. Evil Genius

Ik zou inderdaad als ik jou was even goed de manual doornemen.
Wat ik er van begrijp is dat 'coffeecup web form builder' een appje is waarmee "leken" simpel en snel een formulier in elkaar kunnen zetten.
Zodra jij moet gaan klooien in de scripts gaat dit het hele doel van de software voorbij.
Kan mij dus niet voorstellen dat dit de bedoeling is :)

'Future proof' (de; v) Verschijnsel waarbij men een dure aankoop rechtvaardigt door innovatie te negeren


  • DaRk PoIsOn
  • Registratie: Oktober 2002
  • Laatst online: 01-11 23:32
Nee, dat klopt idd.
Het gaat om een formuliertje dat maar door 2 personen word gebruikt.
Er is nog een ander formulier dat de gegevens uitleest.

Toevallig heeft net een wijkgenoot en vriend van me dit bericht gelezen en belde mij meteen op.
Ik krijg dus morgenmiddag hulp hiermee.

Het topic mag dus op slot :)
Alsnog bedankt voor de reacties :)

who put a "stop payment" on my reality check


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Een slotje is niet nodig op een topic als je je oplossing hebt. Zie daarvoor ook onze faq betreffende topiceinde. Het zou leuk zijn als je de oplossing ook nog even post.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • DaRk PoIsOn
  • Registratie: Oktober 2002
  • Laatst online: 01-11 23:32
Ik zal morgen de oplossing posten.
Ben er ondertussen al wel achter dat het script zoekt naar een database met de naam TABLE 1.
Als dit formulier bestaat, dan maakt hij een nieuwe aan.
Ik heb net al met behulp van die vriend 1 van de foutieve codes verwijderd:

$query = 'CREATE TABLE `' . CC_FB_DB_TABLE . '` (
`id` int(11) NOT NULL auto_increment,
`created_at` DATETIME NOT NULL';

Er zit nu ergens nog een stukje script dat gaat zoeken naar tabel met de naam TABLE 1, is die er dan maakt hij een nieuwe aan en hernoemt de oude naar TABLE 1_old.

Dit stuk moet ik dus nog even verwijderen en dan moet alles goed zijn.

Ik zal morgen de correcte oplossing posten.

who put a "stop payment" on my reality check

Pagina: 1