/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
kan ikke indsætte :-(
Fra : PlopFun
Vist : 266 gange
50 point
Dato : 21-05-03 16:21

Hej alle i "nøddeknækkere".

Er der en der kan/vil hjælpe mig med at knække denne nød ?
Scriptet indsætter ikke noget i min DB.
Nogen idé om hvorfor det ikke virker ?
Script:
<?
$db=mysql_connect("server","user","password");
mysql_select_db("database",$db);

if (isset($_POST["submit"])){ //Only insert when a form is submitted

$checkbox1 = (isset($_POST['checkbox1']))? $_POST['checkbox1'] : "No"; //Default value "No"


mysql_query("INSERT INTO Indhold (navn, checkbox1) VALUES ('$navn','$checkbox1')");
}

?>

<CENTER>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>>
Navn:<INPUT TYPE=text NAME=navn>
<INPUT TYPE=submit name="submit" VALUE="submit">
<input type="checkbox" name="checkbox1" value="Yes">
</FORM>


<TABLE>
<?
$foresp = mysql_query("SELECT * FROM Indhold");
while ($Data = mysql_fetch_array($foresp)){
echo "<TR><TD VALIGN=TOP>";
echo "$Data[navn]</A></TD>";
echo "<TD>$Data[checkbox1]</TD></TR>";

}

?>
</TABLE>
</CENTER>
På forhånd tak

 
 
Kommentar
Fra : shady


Dato : 21-05-03 18:01

Jeg går næsten ud fra du har husket at ændre brugernavn og kodeord til databasen, ikke ? Og rettet databasen til den rigtige ?
Men ellers...
Kode
<?php
$db=mysql_connect("localhost","user","password");
mysql_select_db("database");

if (isset($_POST['submit'])){ //Only insert when a form is submitted

if (!isset($_POST['checkbox1'])) { $checkbox1 = "No"; }else{ $checkbox1 = "Yes"; };

mysql_query("INSERT INTO Indhold (navn, checkbox1) VALUES ('$navn','$checkbox1')");
}

?>

<CENTER>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>>
Navn:<INPUT TYPE="text" NAME="navn">
<INPUT TYPE=submit name="submit" VALUE="submit">
<input type="checkbox" name="checkbox1" value="Yes">
</FORM>

<TABLE>
<?
$foresp = mysql_query("SELECT * FROM Indhold");
while ($Data = mysql_fetch_array($foresp)){
echo "<TR><TD VALIGN=TOP>";
echo "$Data[navn]</A></TD>";
echo "<TD>$Data[checkbox1]</TD></TR>";

}

?>
</TABLE>
</CENTER>


Kommentar
Fra : PlopFun


Dato : 22-05-03 09:07

Hej Shady.

Tak for dit svar, desværre indsættes der stadig intet i DB'en.
Og JO, jeg har husket at ændre brugernavn og kodeord til databasen, og databasens navn.
Jeg har fat i DB'en, da jeg allerede har noget i den, kan jeg se jeg har fat i den.
Det ser ud til der er noget galt med linie 5 (if (isset($_POST['submit'])){ ).
Remarker jeg denne linie, indsættes i DB'en, men der indsættes et tomt felt i DB'en hver gang jeg loader siden,
og det var jo ikke ligefrem meningen.
Jeg skal lige nævne at jeg kører PHP 3.0.18 pga. af nogle andre PHP scripts jeg har som ikke kan køre PHP4.
Er der noget med at PHP 3x ikke kender $_POST ?
Jeg mener at have hørt noget om at man skal bruge $HTTP_POST_VARS i PHP3, men kan ikke rigtigt få det til at virke.
Nogen der har erfarringer med dette ?

MVH
Svend

Kommentar
Fra : Jin2k


Dato : 22-05-03 17:34

Hejsa.
$_POST (og mange af de andre $_-arrays) bæev først tilføjet i version 4.1.0.
Du bli'r nød til at bruge $HTTP_POST_VARS. Syntax burde være det samme.
Altså:
[kode]
if (!isset($HTTP_POST_VARS['checkbox1'])) { $checkbox1 = "No"; }else{ $checkbox1 = "Yes"; };
[/kode]
Håber du får det til at virke.

- Jin

Kommentar
Fra : PlopFun


Dato : 23-05-03 09:24

Hmmm.

Der indsættes stadig ikke noget i DB'en
Som sagt, så ser det ud til at det er linie 5 der fejler.
(if (isset($HTTP_POST_VARS["submit"])){ //Only insert when a form is submitted)

Hvad gør jeg galt her ?

MVH
Svend


Kommentar
Fra : Jin2k


Dato : 23-05-03 19:50

Nå ja. Havde jeg slet ikke set.
En input af typen "submit" sender ikke noget.
Hvis du skal ha' sendt en variabel uden at brugeren ser det skal du bruge input af typen hidden.
Prøv at fjerne (if (isset($HTTP_POST_VARS["submit"])){ //Only insert when a form is submitted).
if (!isset($HTTP_POST_VARS['checkbox1'])) { $checkbox1 = "No"; }else{ $checkbox1 = "Yes"; }; <- Tjekker om der er blevet sendt POST-data, så du behøver faktisk ikke det andet...

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177409
Tips : 31962
Nyheder : 719565
Indlæg : 6407779
Brugere : 218874

Månedens bedste
Årets bedste
Sidste års bedste