Hjælp til at indsætte værdier i mysql

Tags:    php

<< < 12 > >>
Hej...

Har et lille problem... Er igang med en form hvor man kan oprette / opdatere nogle bruger oplysninger...

Får dog en fejl i linie 197 (linien hvor man smider det hele i db'en)...

I får liiige koden her...:

Fold kodeboks ind/udKode 


Det er ved min mysql_query at jeg får fejl... Kunne forestille mig at det var noget med $_SESSION['brugernavn'], kan bare ikke liiige finde fejlen...

Håber at der er en der kan hjælpe mig :)

Mvh
Daniel Grau



16 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
hovsa. Der skal heller ikke være emikolon efter querien. det er en enkelt linje

mysql_query("INSERT INTO users WHERE brugernavn = '$_SESSION[brugernavn]' (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$password', '$navn', '$by', '$alder', '$hjemmeside', '$mail', '$msn', '$beskrivelse')") or die(mysql_error());



> Kan det være noget med at jeg bruger php-self i formen, og mangler at skrive noget i php-koden??...

næ. en form som <form action="<?=$_SERVER["PHP_SELF"]?>" method="post"> burde virke

> Kunne tænke mig til at serveren prøver at udføre koden, men ikke kan, da der ikke er nogle værdier i input felterne...??

Du bruger ikke input felter. Hvis du gør, er det fordi du bruger register_globals, men det vil jeg fraråde, da det kan give problemer, og det er umuligt for mig (eller andre der vil hjælpe) at se hvad der er galt med koden.

[Redigeret d. 12/05-04 22:12:19 af Jesper Kristensen]



Hej...

Har et lille problem... Er igang med en form hvor man kan oprette / opdatere nogle bruger oplysninger...

Får dog en fejl i linie 197 (linien hvor man smider det hele i db'en)...

I får liiige koden her...:

Fold kodeboks ind/udKode 


Det er ved min mysql_query at jeg får fejl... Kunne forestille mig at det var noget med $_SESSION['brugernavn'], kan bare ikke liiige finde fejlen...

Håber at der er en der kan hjælpe mig :)

Mvh
Daniel Grau


<?php
print "<b>Hej ".$_SESSION["brugernavn"]." !</b><br/><br/>";
?>

Her kan du nu oprette dig en profil:<br/>

<form action=<?php $php_self ?> method=post>>
<table>
<tr><td>Brugernavn:</td><td><?php print " ".$_SESSION["brugernavn"]." "; ?></td></tr>
<tr><td>Password:</td><td><input type="text" name="password" id="t1" /></td></tr>
<tr><td>Navn:</td><td><input type="text" name="navn" id="t1" /></td></tr>
<tr><td>By:</td><td><input type="text" name="by" id="t1" /></td></tr>
<tr><td>Hjemmeside:</td><td><input type="text" value="http://www." name="hjemmeside" id="t1" /></td></tr>
<tr><td>Mail:</td><td><input type="text" name="mail" id="t1" /></td></tr>
<tr><td>Msn:</td><td><input type="text" name="msn" id="t1" /></td></tr>
<tr><td valign="top">Fritekst:</td><td><textarea name="beskrivelse" rows="12" cols="30"></textarea></td></tr>
<tr><td> </td><td><input type="submit" name="opret" value="Opdater"></td></tr>
</table>
</form>

<?php
require("config.php");

mysql_query = "INSERT INTO users WHERE brugernavn='".$_SESSION["brugernavn"]."' (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$password', '$navn', '$by', '$alder', '$hjemmeside', '$mail', '$msn', '$beskrivelse')";
or die(mysql_error());
print "Dine oplysninger er nu opdateret!";
?>

________________________________
www.ssjpride.dk



Hej...

Har et lille problem... Er igang med en form hvor man kan oprette / opdatere nogle bruger oplysninger...

Får dog en fejl i linie 197 (linien hvor man smider det hele i db'en)...

I får liiige koden her...:

Fold kodeboks ind/udKode 


Det er ved min mysql_query at jeg får fejl... Kunne forestille mig at det var noget med $_SESSION['brugernavn'], kan bare ikke liiige finde fejlen...

Håber at der er en der kan hjælpe mig :)

Mvh
Daniel Grau

<?php
print "Hej ".$_SESSION["brugernavn"]." !";
?>

Her kan du nu oprette dig en profil:

<form action=<?php $php_self ?> method=post>>
<table>
<tr><td>Brugernavn:</td><td><?php print " ".$_SESSION["brugernavn"]." "; ?></td></tr>
<tr><td>Password:</td><td><input type="text" name="password" id="t1" /></td></tr>
<tr><td>Navn:</td><td><input type="text" name="navn" id="t1" /></td></tr>
<tr><td>By:</td><td><input type="text" name="by" id="t1" /></td></tr>
<tr><td>Hjemmeside:</td><td><input type="text" value="http://www." name="hjemmeside" id="t1" /></td></tr>
<tr><td>Mail:</td><td><input type="text" name="mail" id="t1" /></td></tr>
<tr><td>Msn:</td><td><input type="text" name="msn" id="t1" /></td></tr>
<tr><td valign="top">Fritekst:</td><td><textarea name="beskrivelse" rows="12" cols="30"></textarea></td></tr>
<tr><td> </td><td><input type="submit" name="opret" value="Opdater"></td></tr>
</table>
</form>

<?php
require("config.php");

mysql_query = "INSERT INTO users WHERE brugernavn='".$_SESSION["brugernavn"]."' (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$password', '$navn', '$by', '$alder', '$hjemmeside', '$mail', '$msn', '$beskrivelse')";
or die(mysql_error());
print "Dine oplysninger er nu opdateret!";
?>

________________________________
www.ssjpride.dk



argh nu er mit indlæg fucked op.. undskyld jeg fik ikke lige sat det ind i en pre :/
________________________________
www.ssjpride.dk





mysql_query er en funktion. Din sql tekst er en parameter. Dvs:

mysql_query("dig mysql her")or die(mysql_error());

når du vil veriablværdier i en string skal det gøres sådan:


"tekst tekst tekst" . $dinvariabel . "teskt tekst tekst"

eller:

"tekst tekst tekst $dinvariabel teskt tekst tekst"

du skal have ' rundt om værdier i mysql

mysql_query("INSERT INTO users WHERE brugernavn = '$_SESSION[brugernavn]' (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$password', '$navn', '$by', '$alder', '$hjemmeside', '$mail', '$msn', '$beskrivelse')");
or die(mysql_error());





mysql_query("INSERT INTO users WHERE brugernavn = '$_SESSION[brugernavn]' (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$password', '$navn', '$by', '$alder', '$hjemmeside', '$mail', '$msn', '$beskrivelse')");
or die(mysql_error());


Esben: Forstod ikke liige dit indlæg - sorry.. :S

Jesper:

Har indsat ovenstående som du skrev.. og nu får jeg altså en fejl melding om linie 199 ( or die(mysql_error()); linien...)

Kan det være noget med at jeg bruger php-self i formen, og mangler at skrive noget i php-koden??...

Kunne tænke mig til at serveren prøver at udføre koden, men ikke kan, da der ikke er nogle værdier i input felterne...??

Mvh
Daniel Grau





Du bruger ikke input felter. Hvis du gør, er det fordi du bruger register_globals, men det vil jeg fraråde, da det kan give problemer, og det er umuligt for mig (eller andre der vil hjælpe) at se hvad der er galt med koden.


Takker :) Nu får jeg ikke fejl fra db'en mere :)

Hmm.. Men når jeg indtaster mine værdier i input felterne og så trykker submit, så sender php koden ikke værdierne til db'en...

Kan du se hvad jeg gør galt...

Smider liiige koden endnu engang:
Fold kodeboks ind/udKode 


mvh
Daniel Grau





Du bruger ikke input felter. Hvis du gør, er det fordi du bruger register_globals, men det vil jeg fraråde, da det kan give problemer, og det er umuligt for mig (eller andre der vil hjælpe) at se hvad der er galt med koden.

Takker :) Nu får jeg ikke fejl fra db'en mere :)

Hmm.. Men når jeg indtaster mine værdier i input felterne og så trykker submit, så sender php koden ikke værdierne til db'en...

Kan du se hvad jeg gør galt...

Smider liiige koden endnu engang:
Fold kodeboks ind/udKode 


mvh
Daniel Grau


Du bruger samme id til flere html tags. det må du ikke. det er nok ikke lige fejlen.

Som jeg sagde før, så lad være med at bruge register_globals:

mysql_query("INSERT INTO users WHERE brugernavn = '$_SESSION[brugernavn]' (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$_POST[password]', '$_POST[navn]', '$_POST[by]', '$_POST[alder]', '$_POST[hjemmeside]', '$_POST[mail]', '$_POST[msn]', '$_POST[beskrivelse]')");

hvordan ser din if-sætning ud? (den der hænger sammen med det else jeg kan se)




Du bruger ikke input felter. Hvis du gør, er det fordi du bruger register_globals, men det vil jeg fraråde, da det kan give problemer, og det er umuligt for mig (eller andre der vil hjælpe) at se hvad der er galt med koden.
[/qoute]
Bruger kun register globals et sted.. i toppen for at definere brugernavnet på den bruger der er logget ind...
Har du en smartere måde jeg kan få fat i brugernavnet på personen der er logget ind?

[qoute]
Smider liiige koden endnu engang:
Fold kodeboks ind/udKode 



Du bruger samme id til flere html tags. det må du ikke. det er nok ikke lige fejlen.
[/qoute]

Nå ja... takker... det må jeg liige ha lavet om til class istedet :)

[qoute]
Som jeg sagde før, så lad være med at bruge register_globals:
[/qoute]

Har du en smartere måde jeg kan få fat i brugernavnet på???

[qoute]
mysql_query("INSERT INTO users WHERE brugernavn = '$_SESSION[brugernavn]' (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$_POST[password]', '$_POST[navn]', '$_POST[by]', '$_POST[alder]', '$_POST[hjemmeside]', '$_POST[mail]', '$_POST[msn]', '$_POST[beskrivelse]')");
[/qoute]

Ovenstående kan jeg simpelthen ikke få til at virke...
Skal hente inputene fra formen som står længere oppe på siden... Bruger php_self...

[qoute]
hvordan ser din if-sætning ud? (den der hænger sammen med det else jeg kan se)


Den ser således ud:

Fold kodeboks ind/udKode 


Håber du kan hjælpe mig med dette....
Skal med glæde udlode lidt flere point hvis det er det der skal til... Kan SIMPELTHEN ikke finde ud af hvor fejlen ligger... Men ok... er også rimeligt ny i php... Måske har jeg gabt over for stor en bid :P

Men man lærer jo hver dag :P

Mvh
Daniel Grau




Du bruger ikke input felter. Hvis du gør, er det fordi du bruger register_globals, men det vil jeg fraråde, da det kan give problemer, og det er umuligt for mig (eller andre der vil hjælpe) at se hvad der er galt med koden.


Bruger kun register globals et sted.. i toppen for at definere brugernavnet på den bruger der er logget ind...
Har du en smartere måde jeg kan få fat i brugernavnet på personen der er logget ind?


Smider liiige koden endnu engang:
Fold kodeboks ind/udKode 



Du bruger samme id til flere html tags. det må du ikke. det er nok ikke lige fejlen.


Nå ja... takker... det må jeg liige ha lavet om til class istedet :)


Som jeg sagde før, så lad være med at bruge register_globals:


Har du en smartere måde jeg kan få fat i brugernavnet på???


mysql_query("INSERT INTO users WHERE brugernavn = '$_SESSION[brugernavn]' (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$_POST[password]', '$_POST[navn]', '$_POST[by]', '$_POST[alder]', '$_POST[hjemmeside]', '$_POST[mail]', '$_POST[msn]', '$_POST[beskrivelse]')");
[/qoute]

Ovenstående kan jeg simpelthen ikke få til at virke...
Skal hente inputene fra formen som står længere oppe på siden... Bruger php_self...


hvordan ser din if-sætning ud? (den der hænger sammen med det else jeg kan se)

Den ser således ud:

Fold kodeboks ind/udKode 


Håber du kan hjælpe mig med dette....
Skal med glæde udlode lidt flere point hvis det er det der skal til... Kan SIMPELTHEN ikke finde ud af hvor fejlen ligger... Men ok... er også rimeligt ny i php... Måske har jeg gabt over for stor en bid :P

Men man lærer jo hver dag :P

Mvh
Daniel Grau





> Har du en smartere måde jeg kan få fat i brugernavnet på???

hmm ... brugernavnet er da der eneste sted hvor du IKKE bruger register_globals

> Ovenstående kan jeg simpelthen ikke få til at virke...
Skal hente inputene fra formen som står længere oppe på siden... Bruger php_self...

du skal også have WHERE tilsidst

mysql_query("INSERT INTO users (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse) VALUES ('$_POST[password]', '$_POST[navn]', '$_POST[by]', '$_POST[alder]', '$_POST[hjemmeside]', '$_POST[mail]', '$_POST[msn]', '$_POST[beskrivelse]') WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());


> Den ser således ud:


Det er nok nemmere at bruge:

if(!$_POST){ // if formen


kan se du bruger _REQUEST i stedet for _POST. Det kan du godt i stedet for det jeg skrev i queryen



<< < 12 > >>
t