Avatar billede mat Nybegynder
01. marts 2002 - 13:00 Der er 33 kommentarer og
2 løsninger

indsætte i db

Jeg forstår det simpelthen ikke.

Jeg har et script som via en htmlform skal indsætte noget data i en database:


<?php

if($navn && $point) {

$link = mysql_connect("mysql.ultra-abe.dk", "*********", "********") or die("could not connect");
echo "forbindelse etableret<br>";

mysql_select_db("********") or die("unable to select database");

$sql = "INSERT INTO skore VALUES('', '$navn', '$point')";

$result = mysql_query("$sql") or exit ("Fejl: Kunne ikke køre $sql");

echo "done!";
}
?>
<form action="http://www.ultra-abe.dk/php/insert.php" method="post">
navn<input type="text" name="navn"><br>
point<input type="text" name="point"><br>

<button type='submit'>submit</button>
</form>




.....Jeg kan sagtens indsætte dataen hvis jeg definerer variablerne "navn" og "point" før if-condition´en (men det er jo ligesom ikke meningen) så scriptet er iorden.

Hvorfor hulen kan jeg så ikke definere varablerne fra html-formen???
Avatar billede mjl Nybegynder
01. marts 2002 - 13:06 #1
("INSERT INTO skore (navn,point) VALUES ('$navn','$point')");
Avatar billede cautoo Nybegynder
01. marts 2002 - 13:07 #2
skal sættes i dobbelt gåse øjne :-) "$navn"
Avatar billede cautoo Nybegynder
01. marts 2002 - 13:07 #3
svar :-)
Avatar billede mjl Nybegynder
01. marts 2002 - 13:08 #4
Bruger du også en "id"?
Avatar billede cautoo Nybegynder
01. marts 2002 - 13:11 #5
ellers fjern helt gåseøjnene
Avatar billede mjl Nybegynder
01. marts 2002 - 13:12 #6
Eller brug mjl's forslag...
Avatar billede mat Nybegynder
01. marts 2002 - 13:12 #7
mjl > det gør ingen forskel den ryger stadig ikke ind i if-conditionen, der bliver ikke echo´et noget som helst.

Problemet som jeg ser det er at if aldrig bliver opfyldt, men hvorfor begriber jeg ikke
Avatar billede mjl Nybegynder
01. marts 2002 - 13:12 #8
Man skal jo lige angive, hvor VALUES skal sættes ind - ikk? ;O)
Avatar billede mjl Nybegynder
01. marts 2002 - 13:14 #9
Den echoer da "forbindelse etab...."
Avatar billede mat Nybegynder
01. marts 2002 - 13:15 #10
mjl > ja jeg har også en id ;)

cautoo > parsing error!
Avatar billede mjl Nybegynder
01. marts 2002 - 13:16 #11
Du mangler stadig noget....

("INSERT INTO skore (id,navn,point) VALUES ('','$navn','$point')");
Avatar billede cautoo Nybegynder
01. marts 2002 - 13:16 #12
måske:
$sql = "INSERT INTO skore VALUES('', $navn, $point)";
Avatar billede mat Nybegynder
01. marts 2002 - 13:16 #13
njl > nej, den echoer intet? kun hvis jeg definerer variablerne for "if":

$navn = blah;
$point = 123;
if (.......
Avatar billede mjl Nybegynder
01. marts 2002 - 13:16 #14
2 paranteser () VALUES ()
Avatar billede mjl Nybegynder
01. marts 2002 - 13:17 #15
Se nu lige den første parantes - den MANGLER
Avatar billede mjl Nybegynder
01. marts 2002 - 13:17 #16
("INSERT INTO skore (id,navn,point) VALUES ('','$navn','$point')");
Avatar billede mjl Nybegynder
01. marts 2002 - 13:18 #17
Første parantes siger HVOR anden parantes HVAD
Avatar billede mat Nybegynder
01. marts 2002 - 13:21 #18
Hør nu her hvis problemet lå i sql´en ville jeg da i det mindste nå at få echo´et "forbindelse..."
Avatar billede mat Nybegynder
01. marts 2002 - 13:21 #19
Jeg kommer aldrig ind i if´en
Avatar billede mjl Nybegynder
01. marts 2002 - 13:21 #20
Prøv...
Avatar billede mat Nybegynder
01. marts 2002 - 13:23 #21
mjl > rolig, jeg prøver alt hvad i foreslår ;)
Avatar billede cautoo Nybegynder
01. marts 2002 - 13:26 #22
nogle gange er det bedre at skrive
if($navn != '' && $point != '') {
Avatar billede mat Nybegynder
01. marts 2002 - 13:32 #23
cautoo > ja, så indsætter jeg tom data i min db ;)

Jeg har osse prøvet med if(isset($navn) && .....Men det gør jo i sin essens ikke den store forskel
Avatar billede cautoo Nybegynder
01. marts 2002 - 13:36 #24
også hvis du ærligt har skrevet noget?
Avatar billede mat Nybegynder
01. marts 2002 - 13:38 #25
den udfører det inden jeg kan nå at skrive noget
Avatar billede mat Nybegynder
01. marts 2002 - 14:08 #26
æv, nu vil jeg gå i fredagsbar som en frustreret ung mand :/

men tak for jeres forsøg, jeg lader spørgsmålet stå åbent til imorgen hvis nogen har flere bud.

Det suspekte ligger i at det selvsamme script virkede fint for mig i onsdags på samme server men et andet domæne og en anden db.
Problemet MÅ ligge i at scriptet aldrig fanger variablerne givet ved html-formen, for det virker når jeg selv skriver dem ind i scriptet.

mvh mat
Avatar billede Slettet bruger
01. marts 2002 - 14:47 #27
Hej Mat ;-)

Jeg kan ikke forstå at du siger at den ikke echoer noget ??
Hvis jeg går ind på din form skriver den da " forbindelse etableret " og " done" - Men den skal den også da du ikke har defineret din IF sætning rigtigt, som også pointeret ovenfor ;-)

Jeg studsede nærmere over din submitknap - er du sikker på den sender dine variable med ??
Har du prøvet at lave en 'almindelig' submit ??
<input type="submit" name="Submit" value="Submit">
Avatar billede mjl Nybegynder
01. marts 2002 - 15:07 #28
Prøv lige at udskifte hele koden, med dette...

<?php

if($navn && $point) {

$link = mysql_connect("mysql.ultra-abe.dk", "*********", "********") or die("could not connect");
echo "forbindelse etableret<br>";

mysql_select_db("********") or die("unable to select database");

$sql = "INSERT INTO skore VALUES('', '$navn', '$point')";
$sql = ("INSERT INTO skore (id,navn,point) VALUES ('','$navn',''$point)");
$result = mysql_query("$sql") or exit ("Fejl: Kunne ikke køre $sql");

echo "done!";
}
?>
<form action="http://www.ultra-abe.dk/php/insert.php" method="post">

navn: <input type="text" name="navn"><br>
point: <input type="text" name="point"><br>

<input type="Submit" value="Opdater">

</form>
Avatar billede mjl Nybegynder
01. marts 2002 - 15:09 #29
Sorry - det skulle være dette...

<?php

if($navn && $point) {

$link = mysql_connect("mysql.ultra-abe.dk", "*********", "********") or die("could not connect");
echo "forbindelse etableret<br>";

mysql_select_db("********") or die("unable to select database");

$sql = ("INSERT INTO skore (id,navn,point) VALUES ('','$navn',''$point)");

$result = mysql_query("$sql") or exit ("Fejl: Kunne ikke køre $sql");

echo "done!";
}
?>
<form action="http://www.ultra-abe.dk/php/insert.php" method="post">

navn: <input type="text" name="navn"><br>
point: <input type="text" name="point"><br>

<input type="Submit" value="Opdater">

</form>
Avatar billede mat Nybegynder
01. marts 2002 - 15:19 #30
Hej D!ktator :)

Nej, det at den ikke echo´er noget er det mest mærkelige.
Du skriver at når du går ind skriver den mine echos, det kan jeg slet ikke forstå? det gør den ikke her.

Når du skriver at min if-sætning ikke er defineret rigtig er jeg ikke sikker på at jeg helt forstår. Er den ikke korrekt når det vi tjekker for er om der er sat en variabel med det pågældende navn (indrømmet jeg er ret ny i det her PHP :))

Jeg har prøvet med en input type=submit, men det synes ikke at gøre nogen forskel.

Jeg tror jeg sletter hele moletjavsen og starter forfra og så må vi se om det bare er mig der er totalt blind. Men tak for hjælpen :)
Avatar billede mat Nybegynder
01. marts 2002 - 15:20 #31
mjl > jeg lover at kigge på det imorgen, jeg orker simpelthen ikke mere idag (fredagsbaren råber af mig ;)) håber det er iorden.
Avatar billede mjl Nybegynder
01. marts 2002 - 15:34 #32
ok
Avatar billede mat Nybegynder
03. marts 2002 - 16:14 #33
Takker for jeres ihærdige indsats
Avatar billede nikolajdu Nybegynder
14. marts 2002 - 01:32 #34
Fik du det løst?
Avatar billede mat Nybegynder
14. marts 2002 - 12:55 #35
Nikolaj > ja jeg fik løst det. Jeg skulle indsætte flg.:

$point = strip_tags($HTTP_GET_VARS['point']);
$navn = strip_tags($HTTP_GET_VARS['navn']);

før if conditionen (noget med at det er en windowsserver eller sådan noget ståhej)
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