Avatar billede smeier Nybegynder
13. september 2004 - 17:12 Der er 5 kommentarer og
1 løsning

Problem med insert til db via form.

Kan ikke få følgende til at virke. Håber en af jer måske kunne se en lille skrive fejl :)
Den giver fejlen "Something went wrong." og kan ikke se hvorfor din ikke bare indsætter det.


<?php
include("loginarray.php");
tjekigen();
?>
<?php
include("top.php");
include("db_password.inc");

mysql_connect($hostname, $user, $password);
mysql_select_db("$db");


if (isset($_POST['Submit']) && $_POST['Submit'] == 'Submit') {
// Format the data
$Navn = $_POST['Navn'];
$Adresse = $_POST['Adresse'];
$Postnummer = $_POST['Postnummer'];
$Sted = $_POST['Sted'];
$genre = $_POST['genre'];
$kapacitet = $_POST['kapacitet'];
$Leder = $_POST['Leder'];
$Telefon = $_POST['Telefon'];
$LederTelefon = $_POST['LederTelefon'];
$Telefax = $_POST['Telefax'];
$Email = $_POST['Email'];
$LederEmail = $_POST['LederEmail'];
$WWW = $_POST['WWW'];


  // insert values
$query = "INSERT INTO spillestederdk (Navn, Adresse, Postnummer, Sted, genre, kategori, Leder, Telefon, LederTelefon, Telefax, Email, LederEmail, WWW)
VALUES($Navn, $Adresse, $Postnummer, $Sted, $genre, $kategori, $Leder, $Telefon, $LederTelefon, $Telefax, $Email, $LederEmail, $WWW)";
       
  $result = mysql_query($query);
  if (mysql_affected_rows() == 1) {
    header("Location: medlemmer.php");
  } else {
    error_log(mysql_error());
    echo "<P>Something went wrong.</P>";
  }
}
  else {
  // Show the form
    $php_self = $_SERVER['PHP_SELF'];
 
$form_str = <<< EOFORMSTR
<HTML>
<HEAD>
<TITLE>Spillesteder.dk - Administration</TITLE>
</HEAD>
<BODY>
<form action="$php_self" method="post">
<table width="200" border="1">
  <tr>
    <td>Navn:</td>
    <td><input type="text" value="" name="Navn" size="30">
</td>
  </tr>
  <tr>
    <td>Adresse:</td>
    <td><input type="text" value="" name="Adresse" size="30"></td>
  </tr>
  <tr>
    <td>Postnummer:</td>
    <td><input type="text" value="" name="Postnummer" size="30"></td>
  </tr>
  <tr>
    <td>By:</td>
    <td><input type="text" value="" name="Sted" size="30"></td>
  </tr>

      <tr>
    <td>Genre:</td>
    <td><input type="text" value="" name="genre" size="30"></td>
  </tr>
    <tr>
    <td>Kapacitet:</td>
    <td><input type="text" value="" name="kapacitet" size="30"></td>
  </tr>
  <tr>
    <td>Leder:</td>
    <td><input type="text" value="" name="Leder" size="30"></td>
  </tr>
  <tr>
    <td>Telefon:</td>
    <td><input type="text" value="" name="Telefon" size="30"></td>
  </tr>
  <tr>
    <td>LederTelefon:</td>
    <td><input type="text" value="" name="LederTelefon" size="30"></td>
  </tr>
  <tr>
    <td>Telefax:</td>
    <td><input type="text" value="" name="Telefax" size="30"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" value="" name="Email" size="30"></td>
  </tr>
  <tr>
    <td>LederEmail:</td>
    <td><input type="text" value="" name="LederEmail" size="30"></td>
  </tr>
  <tr>
    <td>WWW:</td>
    <td><input type="text" value="" name="WWW" size="30"></td>
  </tr>
</table>
<input type="SUBMIT" value="Submit" name="Submit">
</FORM>
</BODY>
</HTML>
EOFORMSTR;
    echo $form_str;
}
?>
Avatar billede fri-hash Nybegynder
13. september 2004 - 17:23 #1
dine formdata (udpluk):
$genre = $_POST['genre'];
$kapacitet = $_POST['kapacitet'];
$Leder = $_POST['Leder'];

og din SQL (udpluk) :
$Sted, $genre, $kategori, $Leder, $Telefon

uden at have nærlæst hele scriptet, ser det ud som om du bruger kapacitet det ene sted og kategori det andet?

en anden gang kan du under udviklingen udskrive mysql_error lige efter database kaldet med $result = mysql_query($query) or die(mysql_error());
Avatar billede smeier Nybegynder
13. september 2004 - 17:47 #2
Det var en fejl med hensyn til kapaciteten, men det hjalp ikke.

Jeg får fejlen "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' , , , , , , , , , )' at line 2" Men jeg synes ikke jeg kan finde den fejl den snakker om.
Avatar billede fri-hash Nybegynder
13. september 2004 - 17:57 #3
alle de kommaer er dem der er mellem de variable du har i din insert - de indeholder tilsyneladende ikke noget ... prøv at skriv denne linie øverst i scriptet og se hvad der kommer som POST-data

print_r($_POST); exit();


og derudover mener jeg helt sikkert der skal 'er rundt om tekstdata i SQL, det plejer jeg hvertfald - altså
INSERT INTO tabel(kolonne) VALUES("tekstværdi")
Avatar billede fri-hash Nybegynder
13. september 2004 - 17:59 #4
ups mente
INSERT INTO tabel(kolonne) VALUES('tekstværdi')

men tror ikke det gør nogen forskel
Avatar billede smeier Nybegynder
13. september 2004 - 18:11 #5
Det var bare de skide '' jeg havde glemt. Men tak for hjælpen. Kaster du et svar efter mig? Så kaster jeg points den anden vej.
Avatar billede fri-hash Nybegynder
13. september 2004 - 18:14 #6
svar ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester