31. marts 2005 - 14:16
Der er
21 kommentarer og 1 løsning
kan ikke inserte?
Hvad er der galt med denne, den vil ikke inserte ind i min db? $query = "INSERT INTO boliger(gadenavn, værelser, m2, husleje, boligtype, indskud, billede) VALUES ('$_POST[$gadenavn]', '$_POST[$værelser]', '$_POST[$m2]', '$_POST[$husleje]', '$_POST[$boligtype]', '$_POST[$indskud]','$_POST[$billede]')"; if (mysql_query($query)) { echo "Du har nu oprettet en bolig med følgende oplysninger"; echo "<br />"; echo "Gadenavn: $gadenavn"; echo "<br />"; echo "Værelser: $værelser"; echo "<br />"; echo "M2: $m2"; echo "<br />"; echo "Husleje: $husleje"; echo "<br />"; echo "Indskud: $indskud";
Annonceindlæg fra Academic Work Denmark A/S
31. marts 2005 - 14:22
#1
og min form ser således ud: <form action="tilfoej_ok.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <br /> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="15"><img src="../images/arrow_men.gif" width="3" height="5" /></td> <td width="385"><h1>Tilføj ny bolig </h1></td> </tr> </table> <br /> <table width="600" border="0" cellspacing="5" cellpadding="0"> <tr> <td width="125">Gadenavn:</td> <td width="475"><input name="gadenavn" type="text" id="gadenavn" /></td> </tr> <tr> <td>Værelser:</td> <td><input name="vaerelser" type="text" id="vaerelser" /></td> </tr> <tr> <td>M2:</td> <td><input name="m2" type="text" id="m2" /></td> </tr> <tr> <td>Husleje excl. forbrug:</td> <td><input name="husleje" type="text" id="husleje" /></td> </tr> <tr> <td>Boligtype:</td> <td><select name="boligtype"> <option value="" selected="selected">Vælg boligtype</option> <option value="u">Ungdomsbolig</option> <option value="f">Familiebolig</option> <option value="æ">Ældrebolig</option> </select></td> </tr> <tr> <td>Indskudsstørrelse:</td> <td><input name="indskud" type="text" id="indskud" /></td> </tr> <tr> <td>Billede</td> <td><input name="billede" type="file" id="billede" /></td> </tr> <tr> <td> </td> <td><input name="submit" type="submit" id="submit" value="Tilføj" /></td> </tr> </table> </form>
31. marts 2005 - 14:22
#2
det bliver 100 ganger nemmere at finde hvis du indsætter echo "SQL = $query"; foran "if (mysql_query($query))" of gir os resultatet :)
31. marts 2005 - 14:29
#3
'$_POST[$værelser]' Skal i hvert fald rettes til '$_POST[$vaerelser]'
31. marts 2005 - 14:29
#4
ja, men bare bare et problem, når jeg trykker på tilføj, sker der intet, den fatter ikke rigtig at den har en action
31. marts 2005 - 14:30
#5
og det samme gælder måske for feltet i databasen
31. marts 2005 - 14:32
#6
prøv evt også med if (mysql_query($query) or die(mysql_error()))
31. marts 2005 - 14:33
#7
Jeg syns du skal prøva med at fjerne alle '/' ved '/>' Sådan gør man det ikke i HTML. <input name="submit" type="submit" id="submit" value="Tilføj" /> bliver til <input name="submit" type="submit" id="submit" value="Tilføj">
31. marts 2005 - 14:35
#8
ok, nu har jeg fået den til at indsætte noget! Men den propper ikke den data man har indskrevet i sin form ind i databasen: <? include("config.php"); $gadenavn = $_REQUEST['gadenavn']; $værelser = $_REQUEST['vaerelser']; $m2 = $_REQUEST['m2']; $boligtype = $_REQUEST['boligtype']; $husleje = $_REQUEST['husleje']; $billede = $_REQUEST['billede']; $indskud = $_REQUEST['indskud']; $query = "INSERT INTO boliger(gadenavn, vaerelser, m2, husleje, boligtype, indskud, billede) VALUES ('$_POST[$gadenavn]', '$_POST[$vaerelser]', '$_POST[$m2]', '$_POST[$husleje]', '$_POST[$boligtype]', '$_POST[$indskud]','$_POST[$billede]')"; if (mysql_query($query) or die(mysql_error())) { echo "Du har nu oprettet en bolig med følgende oplysninger"; echo "<br />"; echo "Gadenavn: $gadenavn"; echo "<br />"; echo "Værelser: $værelser"; echo "<br />"; echo "M2: $m2"; echo "<br />"; echo "Husleje: $husleje"; echo "<br />"; echo "Indskud: $indskud"; } ?>
31. marts 2005 - 14:35
#9
det er vel et spørgsmål om validering hvis det skal valideres meget strengt så kan det vist godt passe at alle tags skal afsluttes.. vil jeg tro Kan vi ikke se hele din "tilfoej_ok.php"?
31. marts 2005 - 14:35
#10
di8leva - det er fordi det er xhtml valid
31. marts 2005 - 14:36
#11
Dette er alt php der er i tilfoej_ok.php <? include("config.php"); $gadenavn = $_REQUEST['gadenavn']; $værelser = $_REQUEST['vaerelser']; $m2 = $_REQUEST['m2']; $boligtype = $_REQUEST['boligtype']; $husleje = $_REQUEST['husleje']; $billede = $_REQUEST['billede']; $indskud = $_REQUEST['indskud']; $query = "INSERT INTO boliger(gadenavn, vaerelser, m2, husleje, boligtype, indskud, billede) VALUES ('$_POST[$gadenavn]', '$_POST[$vaerelser]', '$_POST[$m2]', '$_POST[$husleje]', '$_POST[$boligtype]', '$_POST[$indskud]','$_POST[$billede]')"; if (mysql_query($query) or die(mysql_error())) { echo "Du har nu oprettet en bolig med følgende oplysninger"; echo "<br />"; echo "Gadenavn: $gadenavn"; echo "<br />"; echo "Værelser: $værelser"; echo "<br />"; echo "M2: $m2"; echo "<br />"; echo "Husleje: $husleje"; echo "<br />"; echo "Indskud: $indskud"; } ?>
31. marts 2005 - 14:36
#12
prøv at udskrive din $query
31. marts 2005 - 14:37
#13
$_REQUEST eller $_POST ;o)
31. marts 2005 - 14:39
#14
hvis du kan hive dem frem ved hjælp af $_REQUEST skal det så ikke benyttes frem for $_POST i $query
31. marts 2005 - 14:40
#15
Ja, jeg skulle fjerne £_POST i queryen! Anyway, nu virker det meste, men den smider stadig ikke billede med op? alt andet smider den op
31. marts 2005 - 14:41
#16
jeg har desværre ingen forstand på om man kan putte et helt billede ind i en database?
31. marts 2005 - 14:44
#17
men feltet i databasen skal vel være af en bestemt type så
31. marts 2005 - 14:45
#18
den er longblob
31. marts 2005 - 14:49
#19
har prøvet surfe lidt rundt på eksperten.. mange foreslår at gemme billedet på serveren og blot gemme stien i databasen.. .bla pga performance... men ved ikke om det er en mulig løsning for dig?
31. marts 2005 - 15:44
#21
ang. billede så skal du bruge $_FILES['billede']['tmp_name'] for at få fat i det og datatypen i databasen skal vist være blob så vidt jeg lige kan huske. Men vil foreslå at du ligger billedet som en fil istedet for at lægge den i databasen, men det kommer an på om du har rettigheder til at gøre det, altså at gemme billedet som en fil...
Vi tilbyder markedets bedste kurser inden for webudvikling