/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
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
INSERT problem?
Fra : Tonni Aagesen


Dato : 14-02-01 02:03

Hej NG,

Jeg ved godt at jeg selv burde debugge mit script, men jeg tror jeg har set
mig blind på det.
Det vil ikke indsætte data i databasen, men kommer heller ikke med
fejlmeddelelser, hvis betingelserne i if-sætningen er opfyldt
Er der en der kan hjælpe??

Mvh
Tonni Aagesen

<?php
$tekstWL = nl2br($tekst);
$tekstWLS = stripslashes($tekstWL);
$titelS = stripslashes($titel);
$navnS = stripslashes($navn);
$stedS = stripslashes($sted);
$today = date("Y-m-d");

$db = mysql_connect("localhost", "bruger", "password");

mysql_select_db("spyfluen",$db);

if ($stedS == "") {
$besked = "<font color='CC9933'>Data blev ikke indsendt på grund
af:</font><br><br>Du har ikke angivet et sted for dit arrangement";
} elseif ($titelS == "") {
$besked = "<font color='CC9933'>Data blev ikke indsendt på grund
af:</font><br><br>Du har ikke angivet en titel for dit arrangement";
} elseif ($dato == "") {
$besked = "<font color='CC9933'>Data blev ikke indsendt på grund
af:</font><br><br>Du har ikke angivet en dato for dit arrangement";
} elseif ($tekstWLS == "") {
$besked = "<font color='CC9933'>Data blev ikke indsendt på grund
af:</font><br><br>Feltet tekst er tomt";
} else {
mysql_query("INSERT INTO kalender(navn, sted, omraade, katagori, tekst,
sdato, titel, dato)
values ('$navnS', '$stedS', '$omraade', '$katagori', '$tekstWLS',
'$today', '$titelS', '$dato')");
$besked = "Tak,
dit indl&aelig;g er sendt, og allerede nu kan andre have gl&aelig;de
af
det.";
}

?>



 
 
Henrik Jensen (14-02-2001)
Kommentar
Fra : Henrik Jensen


Dato : 14-02-01 01:38

> <?php
> $tekstWL = nl2br($tekst);
> $tekstWLS = stripslashes($tekstWL);
> $titelS = stripslashes($titel);
> $navnS = stripslashes($navn);
> $stedS = stripslashes($sted);
> $today = date("Y-m-d");

I ovennævnte hedder din dato '$today'

> if ($stedS == "") {
> $besked = "<font color='CC9933'>Data blev ikke indsendt på grund
> af:</font><br><br>Du har ikke angivet et sted for dit arrangement";
> } elseif ($titelS == "") {
> $besked = "<font color='CC9933'>Data blev ikke indsendt på grund
> af:</font><br><br>Du har ikke angivet en titel for dit arrangement";
> } elseif ($dato == "") {
> $besked = "<font color='CC9933'>Data blev ikke indsendt på grund

Her hedder den '$dato'.

> af:</font><br><br>Du har ikke angivet en dato for dit arrangement";
> } elseif ($tekstWLS == "") {
> $besked = "<font color='CC9933'>Data blev ikke indsendt på grund
> af:</font><br><br>Feltet tekst er tomt";
> } else {
> mysql_query("INSERT INTO kalender(navn, sted, omraade, katagori, tekst,
> sdato, titel, dato)
> values ('$navnS', '$stedS', '$omraade', '$katagori', '$tekstWLS',
> '$today', '$titelS', '$dato')");
> $besked = "Tak,
> dit indl&aelig;g er sendt, og allerede nu kan andre have gl&aelig;de
> af
> det.";
> }
>
> ?>

I insert-sætningen hedder den også '$dato' - men den kan jo sagtens være
tom - du bør nok tjekke navnene på dine kolonner i den egentlige tabel, for
at sikre at du ikke forveksler variabelnavnene

Håber det hjalp lidt...

--
/Henrik
- Stay in the rhythm!
- http://www.netwerk.dk






Henrik Jensen (14-02-2001)
Kommentar
Fra : Henrik Jensen


Dato : 14-02-01 02:11

Oops - jeg var vist lidt hurtig til at svare før... Sorry!
Jeg overså at der naturligvis var tale om to forskellige datoer.

Jeg kan dog ikke se at der skulle være noget galt med scriptet som sådan -
og vil alligevel anbefale dig at dobbelttjekke tabellens navn og
variabelnavnene.
Du kan også tjekke variablernes egentlige indhold med dette:

reset ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS)) {
echo "$key => $val<br>";
}

- som skriver dem ud til dig

--
/Henrik
- Stay in the rhythm!
- http://www.netwerk.dk



Henrik Jensen <hj@netwerk.dk> wrote in message
news:boki6.767$PC4.44139@news010.worldonline.dk...
> > <?php
> > $tekstWL = nl2br($tekst);
> > $tekstWLS = stripslashes($tekstWL);
> > $titelS = stripslashes($titel);
> > $navnS = stripslashes($navn);
> > $stedS = stripslashes($sted);
> > $today = date("Y-m-d");
>
> I ovennævnte hedder din dato '$today'
>
> > if ($stedS == "") {
> > $besked = "<font color='CC9933'>Data blev ikke indsendt på grund
> > af:</font><br><br>Du har ikke angivet et sted for dit arrangement";
> > } elseif ($titelS == "") {
> > $besked = "<font color='CC9933'>Data blev ikke indsendt på grund
> > af:</font><br><br>Du har ikke angivet en titel for dit arrangement";
> > } elseif ($dato == "") {
> > $besked = "<font color='CC9933'>Data blev ikke indsendt på grund
>
> Her hedder den '$dato'.
>
> > af:</font><br><br>Du har ikke angivet en dato for dit arrangement";
> > } elseif ($tekstWLS == "") {
> > $besked = "<font color='CC9933'>Data blev ikke indsendt på grund
> > af:</font><br><br>Feltet tekst er tomt";
> > } else {
> > mysql_query("INSERT INTO kalender(navn, sted, omraade, katagori,
tekst,
> > sdato, titel, dato)
> > values ('$navnS', '$stedS', '$omraade', '$katagori', '$tekstWLS',
> > '$today', '$titelS', '$dato')");
> > $besked = "Tak,
> > dit indl&aelig;g er sendt, og allerede nu kan andre have
gl&aelig;de
> > af
> > det.";
> > }
> >
> > ?>
>
> I insert-sætningen hedder den også '$dato' - men den kan jo sagtens være
> tom - du bør nok tjekke navnene på dine kolonner i den egentlige tabel,
for
> at sikre at du ikke forveksler variabelnavnene
>
> Håber det hjalp lidt...
>
> --
> /Henrik
> - Stay in the rhythm!
> - http://www.netwerk.dk
>
>
>
>
>



Tonni Aagesen (14-02-2001)
Kommentar
Fra : Tonni Aagesen


Dato : 14-02-01 08:40


"Henrik Jensen" <hj@netwerk.dk> skrev i en meddelelse
news:9Tki6.771$PC4.46505@news010.worldonline.dk...
> Oops - jeg var vist lidt hurtig til at svare før... Sorry!
> Jeg overså at der naturligvis var tale om to forskellige datoer.

- er også lidt forvirrende

> Jeg kan dog ikke se at der skulle være noget galt med scriptet som sådan -
> og vil alligevel anbefale dig at dobbelttjekke tabellens navn og
> variabelnavnene.
> Du kan også tjekke variablernes egentlige indhold med dette:
>
> reset ($HTTP_POST_VARS);
> while (list ($key, $val) = each ($HTTP_POST_VARS)) {
> echo "$key => $val<br>";
> }
>
> - som skriver dem ud til dig

Som du jo allerede havde påpeget, lå fejlen i en variabel i INSERT, en
variabel der slet ikke skulle være der.
Tak for hjælpen

Mvh
Tonni Aagesen



Søren Boll Overgaard (14-02-2001)
Kommentar
Fra : Søren Boll Overgaard


Dato : 14-02-01 08:50

On Wed, 14 Feb 2001 02:11:14 +0100, Henrik Jensen wrote:

>Du kan også tjekke variablernes egentlige indhold med dette:
>
>reset ($HTTP_POST_VARS);
>while (list ($key, $val) = each ($HTTP_POST_VARS)) {
> echo "$key => $val<br>";
>}
>
>- som skriver dem ud til dig

Var det ikke lettere at bruge

print_r ($HTTP_POST_VARS);

Prøv iøvrigt at quote efter gældende retningslinier, der kan findes på
http://www.usenet.dk/

--
Søren O.

http://chewbacca.dk/disclaimer/

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste