Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]blad przy dodawaniu rekordow
Forum PHP.pl > Forum > Przedszkole
koptus
Witam, napisałem prosty skrypt ktory dodaje kilka rekordow do tabeli. Pojawia się niestety taki błąd:
Kod
Column count doesn't match value count at row 1

Poniżej skrypt:
  1. <?php
  2. include "auth_user.inc.php";
  3. include "conn.php";
  4. require_once 'header.php';
  5. if (isset($_POST['submit']) && $_POST['submit'] == "Dodaj") {
  6.  if ($_POST['skad'] != "" &&
  7.      $_POST['dokad'] != "" &&
  8.      $_POST['miejscestart'] != "" &&
  9.      $_POST['trudnosc'] != "" &&
  10.      $_POST['start'] != "")
  11.      
  12.      {
  13.  $query = "INSERT INTO track_info (skad, przez, dokad, loginid" .
  14.               "opis, miejscestart, trudnosc, km, dodana, start) " .
  15.               "VALUES ('" . $_POST['skad'] . "', '" . $_POST['przez'] . "', '" . $_POST['dokad'] . "', '" .  $_SESSION['user_id'] . "', '" . $_POST['opis'] . "', '" . $_POST['miejscestart'] . "', '" . $_POST['trudnosc'] . "', '" . $_POST['km'] . "','" . date("Y-m-d H:i:s", time()) . "', '" . $_POST['start'] . "');";
  16.      $result = mysql_query($query)
  17.        or die(mysql_error());
  18. ?>
  19. <p>
  20.    Dziękujemy <?php echo $_POST['login']; ?>, za dodanie trasy!<br>
  21. <?php
  22.      header("Refresh: 5; URL=index.php");
  23.      echo "Teraz możesz czekać i obserwować czy ktoś dołączy do ciebie! " .
  24.           "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  25.      echo "(Jeśli przeglądarka nie obsługuje przekierowań, " .
  26.           "<a href=\"index.php\">kliknij tutaj</a>)";
  27.      die();
  28.    } else {
  29.  ?>
  30.  <p>
  31.  <font color="#FF0000"><b>Wymagane jest wypełnienie pól: skąd, dokąd, miejsce startu, trudnosc, data z godziną startu.</b></font>
  32.   <form action="dodaj1.php" method="post">
  33.    Skad*: <input type="text" name="skad"
  34.                value="<?php echo $_POST['skad']; ?>"><br>
  35.    Przez: <input type="text" name="przez"
  36.                value="<?php echo $_POST['przez']; ?>"><br>
  37.    Dokad*: <input type="text" name="dokad"
  38.             value="<?php echo $_POST['dokad']; ?>"><br>
  39.    Opis: <textarea id="opis" name="opis" rows="10" cols="60">
  40.    <?php echo $_POST['opis']; ?></textarea><br>
  41.    Miejsce startu: <input type="text" name="gg"
  42.             value="<?php echo $_POST['miejscestart']; ?>"><br>
  43.        
  44.  Trudnosc trasy:<br>
  45. <select name="trudnosc">
  46.        <option>Łatwa</option>
  47.        <option>Średnia</option>
  48.        <option>Trudna</option>
  49. </select><br>
  50.  
  51.  
  52.    Długość trasy (w km): <input type="text" name="km"
  53.                  value="<?php echo $_POST['km']; ?>"><br>
  54.    Czas startu (RRRR-MM-DD HH:MM:SS) <input type="text" name="start"
  55.                 value="<?php echo $_POST['start']; ?>"><br>
  56.  <input type="submit" name="submit" value="Dodaj"> &nbsp;
  57.    <input type="reset" value="Wyczyść">
  58.  </form>
  59. </p>
  60. <?php
  61.  }
  62.  
  63.  }else {
  64. ?>
  65. <p>
  66.  Dodaj trasę!<br>
  67.  Wymagane jest wypełnienie pól: skąd, dokąd, miejsce startu, trudnosc, data z godziną startu.
  68. <form action="dodaj1.php" method="post">
  69.    Skad*: <input type="text" name="skad"><br>
  70.    Przez: <input type="text" name="przez"><br>
  71.    Dokad*: <input type="text" name="dokad"><br>
  72.    Opis: <textarea id="opis" name="opis" rows="10" cols="60"></textarea><br>
  73.    Miejsce startu: <input type="text" name="miejscestart"><br>
  74.        
  75.  Trudnosc trasy:<br>
  76. <select name="trudnosc">
  77.        <option>Łatwa</option>
  78.        <option>Średnia</option>
  79.        <option>Trudna</option>
  80. </select><br>
  81.  
  82.  
  83.    Długość trasy (w km): <input type="text" name="km"><br>
  84.    Czas startu (RRRR-MM-DD HH:MM:SS) <input type="text" name="start"><br>
  85.  <input type="submit" name="submit" value="Dodaj"> &nbsp;
  86.    <input type="reset" value="Wyczyść">
  87.  </form>
  88.  </p>
  89.  <?php
  90. }
  91. ?>
  92. </body>
  93. </html>

Struktura tabeli:
id int(10) Nie auto_increment
skad varchar(255) Nie
przez varchar(255) Tak NULL
dokad varchar(255) Nie
loginid int(10) Tak 0
opis mediumtext Tak NULL
miejscestart varchar(255) Nie
trudnosc varchar(255) Nie
km int(10) Tak NULL
dodana datetime Nie 0000-00-00 00:00:00
start datetime Nie 0000-00-00 00:00:00

Z góry dziękuje za wszelką pomoc, proszę zarazem o dość prosty język rad winksmiley.jpg
piotrooo89
ja to robię tak:

  1. <?php
  2. $data=date("Y-m-d H:i:s", time())
  3. $query = "INSERT INTO track_info SET
  4. skad='$_POST['skad']',
  5. przez='$_POST['przez']',
  6. dokad='$_POST['dokad']',
  7. loginid='$_SESSION['user_id']',
  8. opis='$_POST['opis']',
  9. miejscestart='$_POST['miejscestart']',
  10. trudnosc='$_POST['trudnosc']',
  11. km='$_POST['km']',
  12. dodana='$data',
  13. start='$_POST['start']'");
  14. ?>


wszystko ładnie i przejrzyście
nevt
tutaj
  1. <?php
  2. $query = "INSERT INTO track_info (skad, przez, dokad, loginid" .
  3. ?>

brakuje ci przecinka po loginid...
koptus
Dzięki wielkie za pomoc! smile.gif Elegancko się dodało, ale pojawił się błąd zwiazany najwyraźniej z czymś innym.
Pod nagłówkiem pojawia się informacja
"Dziękujemy , za dodanie trasy!"
a pod tym
Kod
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\php123\rowery\header.php:11) in c:\usr\krasnal\www\php123\rowery\dodaj1.php on line 16

i potem dalsza część komunikatu skryptu:
"Teraz możesz czekać i obserwować czy ktoś dołączy do ciebie! Zostaniesz przeniesiony do oryginalnej storny!
(Jeśli przeglądarka nie obsługuje przekierowań, kliknij tutaj)"

wrzucam plik header.php
  1. <?php session_start(); ?>
  2. <html>
  3. <head>
  4. <title>NaRowerach.pl</title>
  5. </head>
  6. <body>
  7. <div id="logobar">
  8.  <div id="logoblob">
  9.    <h1>NaRowerach.pl</h1>
  10.  </div>
  11. <?php
  12. if (isset($_SESSION['user_logged'])) {
  13.  echo ' <div id="logowelcome">';
  14.  echo '  Aktualnie zalogowany jako: ' . $_SESSION['user_logged'];
  15.  echo ' </div>';
  16. }
  17. ?>
  18.  
  19. </div>
  20. <div id="maincolumn">
  21.  <div id='navigation'>
  22. <?php
  23. echo '<a href="index.php">Artykuły</a>';
  24. if (!isset($_SESSION['user_id'])) {
  25.  echo ' | <a href="login.php">Logowanie</a>';
  26. } else {
  27.  echo ' | <a href="dodaj.php">Dodaj trasę</a>';
  28.  
  29.  if ($_SESSION['access_lvl'] > 1) {
  30.    echo ' | <a href="pending.php">Przejrzyj</a>';
  31.  }
  32.  
  33.  if ($_SESSION['access_lvl'] > 2) {
  34.    echo ' | <a href="admin.php">Administracja</a>';
  35.  }
  36.  echo ' | <a href="edit.php">Edytuj swoje dane</a>';
  37.  echo ' | <a href="transact-user.php?action=Wyloguj">Wyloguj</a>';
  38. }
  39. ?>
  40.  </div>
  41.  <div id="articles">
piotrooo89
było mnostwo razy na forum.

  1. <?php
  2. ?>


//EDIT

i oczywiście kodowanie utf-8 bez BOM
koptus
Dodałem na poczatku header.php i nic to nie zmieniło.
piotrooo89
może wysyłasz już jakieś dane (puste znaki), masz odpowiednie kodowanie? pokaż co i jak masz w pliku dodaj1.php
koptus
Plik dodaj1.php jest w pierwszym poscie w tym temacie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.