|
| $php_self vil ikke virke.... Fra : Daniel Grau |
Dato : 12-05-04 21:11 |
|
Hejsa alle mennesker...
Er nu begyndt på php-kapitlet her de sidste par måneder...
Har følgende form (til at oprette / opdatere bruger info i)...
Men når man klikker på submit knappen, så finder browseren en
anden side (blank side) som jo selvfølgelig ikke eksisterer...
Nogen der kan hjælpe med hvorfor den gør det, og ikke bliver på
samme side, og behandler bruger info'ene i php-koden neden
under...
Min form og php-kode til at smide info'erne i db'en:
---------------------------------------------------------
<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 koden der indsætter input felterne i db'en
<?php
} else {
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')");
}
?>
---------------------------------------------------------
Håber nogen kunne hjælpe med dette problem
mvh
Daniel Grau
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Daniel Overby Hansen (12-05-2004)
| Kommentar Fra : Daniel Overby Hansen |
Dato : 12-05-04 21:16 |
|
> <form action=<?php $php_self ?> method="post">
Brug $_SERVER["PHP_SELF"] i stedet.
- Daniel
| |
Daniel Grau (12-05-2004)
| Kommentar Fra : Daniel Grau |
Dato : 12-05-04 21:20 |
|
Daniel Overby Hansen wrote:
> Brug $_SERVER["PHP_SELF"] i stedet.
altså:
<form action=<?php $_SERVER["PHP_SELF"] ?> method="post"> ???
For den kan jeg heller ikke få til at virke :S
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Daniel Grau (12-05-2004)
| Kommentar Fra : Daniel Grau |
Dato : 12-05-04 21:24 |
|
Aaaah... Fik det til at virke... :) Skulle jo bare beholde echo
:)
Tænkte på... Gider du (eller en anden) kigge på input felterne og
den tilhørende php kode der skal sende det hele til db'en...
Når man nu submitter, så indsætter den ikke noget i db'en... Og
der kommer ingen fejlmelding...
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Kim Emax (12-05-2004)
| Kommentar Fra : Kim Emax |
Dato : 12-05-04 22:43 |
|
In the news:40a287f5$0$3050$14726298@news.sunsite.dk,
> Tænkte på... Gider du (eller en anden) kigge på input felterne og
> den tilhørende php kode der skal sende det hele til db'en...
>
> Når man nu submitter, så indsætter den ikke noget i db'en... Og
> der kommer ingen fejlmelding...
du skal bruge $_REQUEST[password] i stedet for $password
f.eks $password = $_REQUEST[password]; osv.
--
Take Care
Kim Emax - master|minds - Vi tænker IT for dig...
http://www.masterminds.dk - http://www.emax.dk
| |
Daniel Grau (12-05-2004)
| Kommentar Fra : Daniel Grau |
Dato : 12-05-04 23:04 |
|
Kim Emax wrote:
> du skal bruge $_REQUEST[password] i stedet for $password
>
> f.eks $password = $_REQUEST[password]; osv.
Hvor skal dette stå?
Har prøvet at gemme alle data'ene først ved:
$password = $_REQUEST[password];
$navn = $_REQUEST[navn];
$by = $_REQUEST[by];
$hjemmeside = $_REQUEST[hjemmeside];
$mail = $_REQUEST[mail];
$msn = $_REQUEST[msn];
$beskrivelse = $_REQUEST[beskrivelse];
Og dernæst:
mysql_query("UPDATE users WHERE brugernavn = '$_SESSION[brugernavn]'
(password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$password', '$navn', '$by', osv osv osv....)");
print "Dine bruger info er nu opdateret!";
Og det kunne jeg ikke få til at virke... har oss prøvet:
mysql_query("UPDATE users WHERE brugernavn = '$_SESSION[brugernavn]'
(password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
values ('$_REQUEST[password]', '$_REQUEST[navn]', '$_REQUEST[by]',
'$_REQUEST[alder]', '$_REQUEST[hjemmeside]', '$_REQUEST[mail]',
'$_REQUEST[msn]', '$_REQUEST[beskrivelse]')");
print "Dine bruger info er nu opdateret!";
Men det kan jeg heller ikke få til at virke... Er HELT på bar bund :S
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Ruben Hesselbæk (13-05-2004)
| Kommentar Fra : Ruben Hesselbæk |
Dato : 13-05-04 09:13 |
|
Vil mene at den korrekte syntax må være
$query = "UPDATE users set password='$_REQUEST[password]',
navn='$_REQUEST[navn]', by='$_REQUEST[by]', alder='$_REQUEST[alder]',
hjemmeside='$_REQUEST[hjemmeside]', mail=$_REQUEST[mail]',
msn='$_REQUEST[msn]', beskrivelse='$_REQUEST[beskrivelse]' where
brugernavn='$_SESSION[brugernavn]')");
if(mysql_query($query)) {
print "Dine bruger info er nu opdateret!";
}
else {
print "Kunne ikke opdatere dine bruger info!<br>";
print "<b>Fejl : " . mysql_error().':'.mysql_errno();
}
/Ruben Hesselbæk
"Daniel Grau" <grau@graus.dk> wrote in message
news:40a29f66$0$3056$14726298@news.sunsite.dk...
> Kim Emax wrote:
> > du skal bruge $_REQUEST[password] i stedet for $password
> >
> > f.eks $password = $_REQUEST[password]; osv.
> Hvor skal dette stå?
>
> Har prøvet at gemme alle data'ene først ved:
>
> $password = $_REQUEST[password];
> $navn = $_REQUEST[navn];
> $by = $_REQUEST[by];
> $hjemmeside = $_REQUEST[hjemmeside];
> $mail = $_REQUEST[mail];
> $msn = $_REQUEST[msn];
> $beskrivelse = $_REQUEST[beskrivelse];
>
> Og dernæst:
>
> mysql_query("UPDATE users WHERE brugernavn = '$_SESSION[brugernavn]'
> (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
> values ('$password', '$navn', '$by', osv osv osv....)");
> print "Dine bruger info er nu opdateret!";
>
> Og det kunne jeg ikke få til at virke... har oss prøvet:
>
> mysql_query("UPDATE users WHERE brugernavn = '$_SESSION[brugernavn]'
> (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse)
> values ('$_REQUEST[password]', '$_REQUEST[navn]', '$_REQUEST[by]',
> '$_REQUEST[alder]', '$_REQUEST[hjemmeside]', '$_REQUEST[mail]',
> '$_REQUEST[msn]', '$_REQUEST[beskrivelse]')");
> print "Dine bruger info er nu opdateret!";
>
> Men det kan jeg heller ikke få til at virke... Er HELT på bar bund :S
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials
| |
Daniel Grau (13-05-2004)
| Kommentar Fra : Daniel Grau |
Dato : 13-05-04 16:31 |
|
Ruben Hesselbæk wrote:
> Vil mene at den korrekte syntax må være
>
> $query = "UPDATE users set password='$_REQUEST[password]',
> navn='$_REQUEST[navn]', by='$_REQUEST[by]', alder='$_REQUEST[alder]',
> hjemmeside='$_REQUEST[hjemmeside]', mail=$_REQUEST[mail]',
> msn='$_REQUEST[msn]', beskrivelse='$_REQUEST[beskrivelse]' where
> brugernavn='$_SESSION[brugernavn]')");
Hmm.. mangler der ikke et par paranteser et sted i starten??? Du slutter
af med to paranteser, men kan ikke lige se hvor de starter... Får nemlig
en fejl i den linie ".....brugernavn='$_SESSION[brugernavn]')");...."
> if(mysql_query($query)) {
> print "Dine bruger info er nu opdateret!";
> }
> else {
> print "Kunne ikke opdatere dine bruger info!<br>";
> print "<b>Fejl : " . mysql_error().':'.mysql_errno();
> }
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Daniel Grau (13-05-2004)
| Kommentar Fra : Daniel Grau |
Dato : 13-05-04 16:45 |
|
Daniel Grau wrote:
> Ruben Hesselbæk wrote:
> > $query = "UPDATE users set password='$_REQUEST[password]',
> > navn='$_REQUEST[navn]', by='$_REQUEST[by]', alder='$_REQUEST[alder]',
> > hjemmeside='$_REQUEST[hjemmeside]', mail=$_REQUEST[mail]',
> > msn='$_REQUEST[msn]', beskrivelse='$_REQUEST[beskrivelse]' where
> > brugernavn='$_SESSION[brugernavn]')");
> Hmm.. mangler der ikke et par paranteser et sted i starten??? Du slutter
> af med to paranteser, men kan ikke lige se hvor de starter... Får nemlig
> en fejl i den linie ".....brugernavn='$_SESSION[brugernavn]')");...."
Fandt selv ud af det meste :P
Manglede en '}', og indsatte en parantes i starten... Så nu burde koden
virke... NÆSTEN DA...
Når jeg har indtastet et par brugerdata, og submitter, får jeg følgende
fejlmelding:
"Fejl : You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use near
'by='', hjemmeside=' http://www.', mail=', msn='', beskrivelse='':1064 "
Kan det være fordi at nogle felter er tomme??
Og i så fald, hvordan retter man så det, så den godt kan sende tomme data
til db'en??
Mvh
Daniel Grau
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Ruben Hesselbæk (14-05-2004)
| Kommentar Fra : Ruben Hesselbæk |
Dato : 14-05-04 09:15 |
|
Der mangler vist et par plinger rundt omkring
$query = "UPDATE users set password='$_REQUEST[password]',
navn='$_REQUEST[navn]', by='$_REQUEST[by]', alder='$_REQUEST[alder]',
hjemmeside='$_REQUEST[hjemmeside]', mail='$_REQUEST[mail]',
msn='$_REQUEST[msn]', beskrivelse='$_REQUEST[beskrivelse]' where
brugernavn='$_SESSION[brugernavn]';
Det kan være fordi du bruger 'by' som kolonne, mener at by ikke må bruges da
man bruger det ord til at bestemmer hvordan den skal sortere et resultsæt.
/Ruben
"Daniel Grau" <grau@graus.dk> wrote in message
news:40a397f2$0$3046$14726298@news.sunsite.dk...
> Daniel Grau wrote:
> > Ruben Hesselbæk wrote:
> > > $query = "UPDATE users set password='$_REQUEST[password]',
> > > navn='$_REQUEST[navn]', by='$_REQUEST[by]', alder='$_REQUEST[alder]',
> > > hjemmeside='$_REQUEST[hjemmeside]', mail=$_REQUEST[mail]',
> > > msn='$_REQUEST[msn]', beskrivelse='$_REQUEST[beskrivelse]' where
> > > brugernavn='$_SESSION[brugernavn]')");
>
> > Hmm.. mangler der ikke et par paranteser et sted i starten??? Du slutter
> > af med to paranteser, men kan ikke lige se hvor de starter... Får nemlig
> > en fejl i den linie ".....brugernavn='$_SESSION[brugernavn]')");...."
>
> Fandt selv ud af det meste :P
>
> Manglede en '}', og indsatte en parantes i starten... Så nu burde koden
> virke... NÆSTEN DA...
>
> Når jeg har indtastet et par brugerdata, og submitter, får jeg følgende
> fejlmelding:
>
> "Fejl : You have an error in your SQL syntax. Check the manual that
> corresponds to your MySQL server version for the right syntax to use near
> 'by='', hjemmeside=' http://www.', mail=', msn='', beskrivelse='':1064 "
>
> Kan det være fordi at nogle felter er tomme??
>
> Og i så fald, hvordan retter man så det, så den godt kan sende tomme data
> til db'en??
>
> Mvh
> Daniel Grau
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials
| |
Jeppe Uhd (14-05-2004)
| Kommentar Fra : Jeppe Uhd |
Dato : 14-05-04 09:32 |
|
Ruben Hesselbæk wrote:
> Der mangler vist et par plinger rundt omkring
>
> $query = "UPDATE users set password='$_REQUEST[password]',
> navn='$_REQUEST[navn]', by='$_REQUEST[by]', alder='$_REQUEST[alder]',
> hjemmeside='$_REQUEST[hjemmeside]', mail='$_REQUEST[mail]',
> msn='$_REQUEST[msn]', beskrivelse='$_REQUEST[beskrivelse]' where
> brugernavn='$_SESSION[brugernavn]';
>
> Det kan være fordi du bruger 'by' som kolonne, mener at by ikke må
> bruges da man bruger det ord til at bestemmer hvordan den skal
> sortere et resultsæt.
Jo, man må godt bruge reserverede ord, sålænge man placerer ` omkring dem:
`by`
--
MVH Jeppe Uhd - NX http://nx.dk
Webhosting for nørder og andet godtfolk
| |
Daniel Grau (14-05-2004)
| Kommentar Fra : Daniel Grau |
Dato : 14-05-04 16:51 |
|
> > Det kan være fordi du bruger 'by' som kolonne, mener at by ikke må
> > bruges da man bruger det ord til at bestemmer hvordan den skal
> > sortere et resultsæt.
Yeah.. Var LIGE netop det der var galt... :) Havde jeg slet slet ikke tænkt
over...
> Jo, man må godt bruge reserverede ord, sålænge man placerer ` omkring dem:
> `by`
Tak skal du ha, er så hermed ændret, og nu virker det :)
Tusind tak for hjælpen begge to!!!!!
Mvh
Daniel Grau
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
|
|