Gå til innhold

[Løst]Registerings skjema spm


Anbefalte innlegg

Jeg har laget et skjema som skal skrive info inn i en tabell:

 

<form method="post" action="reg_sjekk.php" name="reg">
<input type="text" name="LAGBruker" /> Brukernavn<br  />
<input type="password" name="LAGPassord" /> Passord<br  />
<input type="text" name="LAGAdresse" /> Adresse<br  />
<input type="text" name="LAGFnavn" /> Fornavn<br  />
<input type="text" name="LAGEnavn" /> Etternavn<br  />
<input type="submit" value="Registrer " />

 

Og i filen reg_sjekk.php har jeg:

<?php
//Connect til db

mysql_connect("localhost", "blablabla", "blablabla") or
die("Could not connect: " . mysql_error());
mysql_select_db("kurs5606");

// Legger til brukeren i databasen

$mysql_sporring = "insert into BAWLKunde set Brukernavn='$POST_LAGBruker', Passord='$POST_LAGPassord', Fornavn='$POST_LAGFnavn', Etternavn='$POST_LAGEnavn' Adresse='$POST_LAGAdresse";
$resultat = mysql_query($mysql_sporring);

// Sjekker resultatet

if($resultat) {
echo("Din bruker ble opprettet, du kan nå logge inn!");
} else {
echo("Noe gikk galt!");
}
?>

 

Når jeg kjører dette får jeg kun feilmeldingen jeg har satt inn der: "Noe gikk galt".

 

Men i BAWLKunde tabellen min har jeg en rad som heter KNr som er primær nøkkel, og skal oppdateres med +1 for hver bruker som legges til, må denne også legges til i insert setninga?

 

Noen som har noen pointere til hva jeg gjør feil, og muligens noe jeg kan gjøre for å forbedre?

Lenke til kommentar
Videoannonse
Annonse

Dessutten tviler jeg på at spørringen er riktig. Prøv heller

INSERT INTO table_name
VALUES (value1, value2, value3,...)

 

I ditt tilfellet:

 

$mysql_sporring = "INSERT INTO BAWLKunde (Brukernavn, Passord, Fornavn, Etternavn, Adresse)

VALUES ('$_POST['LAGBruker']', '$_POST['LAGPassord']', '$_POST['LAGFnavn']', '$_POST['LAGEnavn']', '$_POST['LAGAdresse']'";

$resultat = mysql_query($mysql_sporring);

 

EDIT:

Ser at du også ønsker et stigende KNr... Dette setter du enkelt i mysql databasen. Sett KNr feltet til å ha "auto_increment", og dette vil bli gjort automatisk når du kjører spørringen over...

Endret av Warz
Lenke til kommentar

Takk for svar ;)

 

Får fortsatt en feil på spørringen:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

 

Har prøvd å søke litt rundt etter svar for hva som forårsaker det, men hittil har jeg ikke funnet ut av noe.

 

Feilen ligger i det Warz ga meg tidligere, men regner med at det er noe med koden min som er problemet:P

 $mysql_sporring = "INSERT INTO BAWLKunde (Brukernavn, Passord, Fornavn, Etternavn, Adresse)
VALUES ('$_POST['LAGBruker']', '$_POST['LAGPassord']', '$_POST['LAGFnavn']', '$_POST['LAGEnavn']', '$_POST['LAGAdresse']')";

 

Dette er det som ligger på linja der feilen er.

Lenke til kommentar

Sjekka ut hva et SQL-Injection er.. og jeg får se om jeg gidder å finne ut av noe som skal forhindre det, men for øyeblikket lar jeg det være siden det bare er en enkel skoleoppgave.

 

Klarte å løse problemet til slutt selv:

 

$lagbruker = $_POST['LAGBruker'];
$lagpassord = $_POST['LAGPassord'];
$lagfnavn = $_POST['LAGFnavn'];
$lagenavn = $_POST['LAGEnavn'];
$lagadresse = $_POST['LAGAdresse'];


$mysql_sporring = "INSERT INTO BAWLKunde (Brukernavn, Passord, Fornavn, Etternavn, Adresse)
VALUES ('$lagbruker','$lagpassord','$lagfnavn','$lagenavn','$lagadresse')";

 

Er ikke helt sikker på hva som var problemet, men nå fungerer det hvertfall.

Lenke til kommentar

Sorry,

 

Det jeg gjorde går ikke helt nei, glemte at ' vil bryte ut... :p men det du har gjort nå er bra. Hvis du skal sikre mot SQL injection gjør slik:

 

mysql_real_escape_string($lagbruker)

 

f.eks burde du kunne endre koden slik (ikke at jeg har testa):

$lagbruker = mysql_real_escape_string($_POST['LAGBruker']);
$lagpassord = mysql_real_escape_string($_POST['LAGPassord']);
$lagfnavn = mysql_real_escape_string($_POST['LAGFnavn']);
$lagenavn = mysql_real_escape_string($_POST['LAGEnavn']);
$lagadresse = mysql_real_escape_string($_POST['LAGAdresse']);

 

Mer info her http://no2.php.net/mysql_real_escape_string

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...