Umieszczam ten temat tutaj bo nie wiem gdzie sie bardziej nadaje. Otórz dostaje taka wiadomość o błędzie podczas wysyłania danych z formularza:
Kod
MySQL: Column count doesn't match value count at row 1
Rzecz w tym że sprawdzałem to już wiele razy i ilość kolumn jest taka jaka powinna być.
Oto kod sql który tworzy kolumny:
CREATE TABLE `orders` ( `id` INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR( 50 ) NOT NULL , `surname` VARCHAR( 60 ) NOT NULL , `emial` VARCHAR( 70 ) NOT NULL , `tel` DECIMAL( 16, 0 ) NOT NULL , `cell` DECIMAL( 16, 0 ) , `comment` TEXT, `companyName` VARCHAR( 60 ) , `NIP` DECIMAL( 10, 0 ) , `street` VARCHAR( 70 ) NOT NULL , `postCode` DECIMAL( 5, 0 ) NOT NULL , `city` VARCHAR( 55 ) NOT NULL , `payment` VARCHAR( 30 ) NOT NULL , `deliveryType` VARCHAR( 30 ) NOT NULL , `sendName` VARCHAR( 50 ) , `sendSurname` VARCHAR( 60 ) , `sendStreet` VARCHAR( 50 ) , `sendPostCode` DECIMAL( 5, 0 ) , `sendCity` VARCHAR( 55 ) , `createDate` DATE NOT NULL , `realisationDate` DATE NULL , `status` TINYINT( 2 ) NULL , PRIMARY KEY ( `id` ) , INDEX ( `name` , `surname` , `emial` , `tel` , `cell` ) ) TYPE = innodb AUTO_INCREMENT = 1001;
Oto kod strony z formularzem:
<?php include 'session.inc'; ?> <form action="index.php?action=thankYou" method="post" name="zamowienie"> <table width="437" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td colspan="2"> </td> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> <td><input class="button" type="text" name="directionNumber" size="2" maxlength="2" onBlur="if(!sprawdz(this.value)){ alert('W polu moga znajdować się tylko liczby!'); this.value=''; } " />-<input class="button" type="text" name="phoneNumber" size="11" maxlength="11" onBlur="if(!sprawdz(this.value)){ alert('W polu moga znajdować się tylko liczby!'); this.value=''; } "/>*</td> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> <td><input class="button" type="text" name="nip1" size="3" maxlength="3" onBlur="if(!sprawdz(this.value)){ alert('W polu moga znajdować się tylko liczby!'); this.value=''; } "/>-<input type="text" name="nip2" size="3" maxlength="3" class="button" />-<input class="button" type="text" name="nip3" size="2" maxlength="2" onBlur="if(!sprawdz(this.value)){ alert('W polu moga znajdować się tylko liczby!'); this.value=''; } "/>-<input class="button" type="text" name="nip4" size="2" maxlength="2" onBlur="if(!sprawdz(this.value)){ alert('W polu moga znajdować się tylko liczby!'); this.value=''; } "/></td> </tr> <tr> </tr> <tr> <td><input class="button" type="text" name="postCodeOne" size="2" maxlength="2" onBlur="if(!sprawdz(this.value)){ alert('W polu moga znajdować się tylko liczby!'); this.value=''; } " class="button" />-<input type="text" name="postCodeTwo" size="3" class="button" maxlength="3" onBlur="if(!sprawdz(this.value)){ alert('W tym polu moga znajdować się tylko liczby!'); this.value=''; } " />*</td> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </td> </tr> <tr> </tr> <tr> <span class="undertekst"> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> <td><input class="button" type="text" name="sendPostCodeOne" size="2" maxlength="2" onBlur="if(!sprawdz(this.value)){ alert('W polu moga znajdować się tylko liczby!'); this.value=''; } "/>-<input class="button" type="text" name="sendPostCodeTwo" size="3" maxlength="3" onBlur="if(!sprawdz(this.value)){ alert('W tym polu moga znajdować się tylko liczby!'); this.value=''; } " /></td> </tr> <tr> </tr> <tr> <td colspan="2" align="center"><input class="button" type="button" value="wyślij" name="wyslij" value="wyślij" onClick="if(zamowienie.street.value=='' || zamowienie.firstname.value=='' || zamowienie.surname.value=='' || zamowienie.town.value=='' || zamowienie.email.value=='' || zamowienie.directionNumber.value=='' || zamowienie.phoneNumber.value=='' || zamowienie.postCodeOne.value=='' || zamowienie.postCodeTwo.value=='') alert('Proszę wypełnić wszystkie wymagane pola.'); else zamowienie.submit();" /></td> </tr> </table> </form>
--
edit:
proszę używać odpowiedniego bbcode. poprawiam.
revyag
--
A to strony która przetwarza dane i zapisuje do tabeli:
<?php include 'session.inc'; require_once 'functions.php'; ?> <div class="body" style="background-color:white;"> <?php /* POBIERAMY INFORMACJIE Z FORMULARZA PRZETWARZAMY OBCIANAJC JEDNOCZESNIE DO ODPOWI
EDNIEJ SLUGOSCI I LACZAC W CIAGI NAJPIERW SPRAWDZAMY CZY SA WYPELNIONE WYMAGANE POLA JESLI PRZEGLADARKA UZYTKOWNI
KA NE OBSLUGUJE JAVASCRIPT */ // PRZEPISUJEMY ZNIENNE if(!$komfax) $komfax=0; if(!$uwagi) $uwagi = "NULL"; if(!$nazwaFirmy) $nazwaFirmy = "NULL"; if(!$nip) $nip=0; /* DANE DO WYSYŁKI JEŚLI SĄ */ if(!$wysylkaImie) $wyssylkaImie="NULL"; if(!$wysylkaNazwisko) $wysylkaNazwisko="NULL"; if(!$wysylkaUlica) $wyssylkaUlica="NULL"; $wysylkaKodPocztowy = $_REQUEST['sendPostCodeOne'].$_REQUEST['sendPostCodeTwo']; if(!$wysylkaKodPocztowy) $wysylkaKodPocztowy=0; if($imie && $nazwisko && $email && $tel && $ulica && $kodPocztowy && $miejscowosc && $zaplata ){ // formatujemy informacje wyswietlamy i wysylamy maila require_once 'functions.php'; /* id name surname email tel cell comment companyName NIP street postCode city payment deliveryType
sendName sendSurname sendStreet sendPostCode sendCity createDate realisationDate
status */ $sql = "INSERT INTO orders(name, surname, email, tel, cell, comment, companyName, NIP, street, postCod
e, city, payment, deliveryType, sendName, sendSurname, sendStreet, sendPostCode,
sendCity, createDate) VALUES('$imie', '$nazwisko', '$email', $tel, $komfax, '$uwagi', '$nazwaFirmy', $nip, '$ulica', $kodPocztowy, '$miejscowosc', '$zaplata', '$wysylka', '$wysylkaImie', '$wysylkaNazwisko', '$wysylkaUlica', $wysylkaKodPocztowy, '$wysylkaMiejscowosc', NOW())"; //echo $sql; query($sql); $result = query("SELECT LAST_INSERT_ID()"); $msg = " <table width='437' border='0' cellspacing='0' cellpadding='0' align='center' style='margin:10px;'> <td style='font-size:11px;font-familly:Verdana Helvetica Arial'> Dziękujemy <strong>$imie $nazwisko</strong> za złożone zamówienie. <br><br> numer zamówienia to <strong>$result</strong>. Używaj go by dowiedzieć się o jego stanie. <br><br> Za niedługo skontaktuje się z Tobą nasz pracownik w celu weryfikacji zamówienia. <br><br> <table class='list' cellspacing='0' cellpadding='0' style='width:480px'> <tr><td colspan='5' class='tablelist' bgcolor='#74a7bc'><span style='color:white;font-weight:bolder'>Zamówienie</span></td></tr> <tr><td style='width:220px;border-right:1px solid #A2A2A2'>Nazwa:</td><td style='width:90px;text-align:center;border-right:1px solid #A2A2A2'>Kolor:</td><td style='width:75px;text-align:center;border-right:1px solid #A2A2A2'>Rozmiar:</td><td style='width:55px;text-align:center;border-right:1px solid #A2A2A2'>Cena:</td><td style='text-align:center'>Ilość:</td></tr> "; // dodanie elementow z koszyka do wiadomosci $i=0; foreach($_SESSION['CART'] as $item){ if($item['qty'] > 0){ $sql = "INSERT INTO orderprod VALUES($result,'".$item['productID']."','".$item['color']."','".$item['size']."',".$item['qty'].",".$item['price'].")"; query($sql); if($i %2 == 0) $bg="#d9d9d9"; else $bg = "white"; $msg.= "<tr bgcolor='$bg'><td style='border-right:1px solid #A2A2A2'style='border-right:1px solid #A2A2A2'>".$item['productID']."</td><td style='text-align:center;border-right:1px solid #A2A2A2'> ".$item['color']."</td><td style='text-align:center;border-right:1px solid #A2A2A2'>".$item['size']."</td><td style='text-align:center;border-right:1px solid #A2A2A2'>".$item['price']."</td><td align='center'>".$item['qty']."</td></tr>"; $i++; } } $msg.= "</table> </td></table>"; // usowamy koszyk z zakupami // wysylamy maila mail($email, "zamówienie: ".$result, $msg, $additional_headers = null, $additional_parameters = null); } } //nie udalo sie dodac zamowienia else { ?><div id="message"> Wystąpił problem z dodaniem zamówienia. Przepraszamy. </div> <?php } ?> </div>