|
| at update til MySQL ? Fra : Kemster |
Dato : 22-08-02 15:24 |
|
Hvordan får jeg en PHP side til at opdatere til MySQL ?
Kan nogen se om den her er helt gal ?
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("UPDATE community SET alder='$navn',
password='$password', email='$email', alder='$alder',
hjemmeside='$hjemmeside' WHERE id='$id'") or print mysql_error();
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
MVH
Den helt nye PHP'er
| |
Jens Tønnesen (22-08-2002)
| Kommentar Fra : Jens Tønnesen |
Dato : 22-08-02 15:22 |
|
"Kemster" <wuzz@mindless.com> skrev den Thu, 22 Aug 2002 16:23:39
+0200 i dk.edb.internet.webdesign.serverside.php:
>Hvordan får jeg en PHP side til at opdatere til MySQL ?
>Kan nogen se om den her er helt gal ?
At du har 'alder' to gange?
>$query = mysql_query("UPDATE community SET alder='$navn',
>password='$password', email='$email', alder='$alder',
>hjemmeside='$hjemmeside' WHERE id='$id'")
--
Jens Tønnesen - http://www.pressefoto.dk
| |
Kemster (22-08-2002)
| Kommentar Fra : Kemster |
Dato : 22-08-02 16:00 |
|
> At du har 'alder' to gange?
>
> >$query = mysql_query("UPDATE community SET alder='$navn',
> >password='$password', email='$email', alder='$alder',
> >hjemmeside='$hjemmeside' WHERE id='$id'")
ja sorry, min fejl, men jeg har bare forsøgt ALT ( synes jeg )
sådan skulle det ha set ud.... sorry
$query = mysql_query("UPDATE community SET navn='$navn',
password='$password', email='$email', alder='$alder',
hjemmeside='$hjemmeside' WHERE id='$id'")
Er det stadig forkert ?
| |
Peter Brodersen (22-08-2002)
| Kommentar Fra : Peter Brodersen |
Dato : 22-08-02 15:33 |
|
On Thu, 22 Aug 2002 16:23:39 +0200, "Kemster" <wuzz@mindless.com>
wrote:
>Kan nogen se om den her er helt gal ?
Får du nogen fejl på siden? Hvad er resultatet, når du går ind på
siden?
Er du sikker på at $id, etc. overhovedet indeholder noget?
--
- Peter Brodersen
| |
Kemster (22-08-2002)
| Kommentar Fra : Kemster |
Dato : 22-08-02 16:02 |
|
"Peter Brodersen" <usenet@ter.dk> wrote in message
news:ak2sme$6g0$1@dknews.tiscali.dk...
> On Thu, 22 Aug 2002 16:23:39 +0200, "Kemster" <wuzz@mindless.com>
> wrote:
>
> >Kan nogen se om den her er helt gal ?
>
> Får du nogen fejl på siden? Hvad er resultatet, når du går ind på
> siden?
>
> Er du sikker på at $id, etc. overhovedet indeholder noget?
>
> --
> - Peter Brodersen
ingen fejl, og den skriver, når den har "tænkt" lidt over det... dine
oplysninger er blevet opdateret
de indeholder alle noget.
MVH
Kemster
| |
Sinkbæk (22-08-2002)
| Kommentar Fra : Sinkbæk |
Dato : 22-08-02 16:32 |
|
> ingen fejl, og den skriver, når den har "tænkt" lidt over det... dine
> oplysninger er blevet opdateret
> de indeholder alle noget.
Hej!
Bare lige for at tjekke - så prøv at printe dine variabler inden du
opdaterer databasen.
--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
- Broder Salsa: "København det er altid kokos"
| |
Peter Brodersen (22-08-2002)
| Kommentar Fra : Peter Brodersen |
Dato : 22-08-02 17:08 |
|
On Thu, 22 Aug 2002 17:02:14 +0200, "Kemster" <wuzz@mindless.com>
wrote:
>> Er du sikker på at $id, etc. overhovedet indeholder noget?
>
>ingen fejl, og den skriver, når den har "tænkt" lidt over det... dine
>oplysninger er blevet opdateret
>de indeholder alle noget.
.... men hvad indeholder fx $id, før du kører din query?
print den ud, så vi ka' se hvad den indeholder.
--
- Peter Brodersen
| |
Kemster (22-08-2002)
| Kommentar Fra : Kemster |
Dato : 22-08-02 17:35 |
|
> print den ud, så vi ka' se hvad den indeholder.
sorry men jeg er altså meget grøn i PHP/MySQL
men på den side hvor folk skal ændre deres navne eller alder, der står jo
hvad værdier den finder i basen.
derfor ved jeg at der er noget i basen.
sorry, men jeg skal altså ha det skåret lidt ud i pap
http://www.cs-wuzz.com/community/
her kan i se hvad jeg roder med..... prøv det og hjælp mig... den vil bare
ikke ændre på de data.....
MVH
Kemster
| |
Peter Brodersen (22-08-2002)
| Kommentar Fra : Peter Brodersen |
Dato : 22-08-02 17:28 |
|
On Thu, 22 Aug 2002 18:35:12 +0200, "Kemster" <wuzz@mindless.com>
wrote:
>> print den ud, så vi ka' se hvad den indeholder.
>sorry men jeg er altså meget grøn i PHP/MySQL
Før du kører din query, så skriv fx følgende kommandoer:
print "Jeg vil rette følgende id: $id <br>\n";
print "Jeg vil rette det til følgende navn: $navn <br>\n";
.... så kan vi i det mindste se om $id og $navn overhovedet indeholder
noget.
--
- Peter Brodersen
| |
Kemster (22-08-2002)
| Kommentar Fra : Kemster |
Dato : 22-08-02 17:57 |
|
> print "Jeg vil rette følgende id: $id <br>\n";
> print "Jeg vil rette det til følgende navn: $navn <br>\n";
Her er hele siden, er det det rigtige sted jeg har sat det ind ?
Undskyld at jeg er lidt "tumpet".... men jeg er ved at lære PHP, og skal nok
komme efter det ----> he he
<?
session_start();
?>
<html>
<head>
<title>Brugersystem</title>
<meta name="Generator" content="Stone's WebWriter 3.5">
</head>
<body>
<?
// Tjek om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
print "Jeg vil rette følgende id: $id <br>\n";
print "Jeg vil rette det til følgende navn: $navn <br>\n";
$query = mysql_query("SELECT * FROM community WHERE navn='$s_navn' AND
password='$s_password'") or print mysql_error();
while($r = mysql_fetch_array($query)) {
$id = $r["id"];
$navn = $r["navn"];
$password = $r["password"];
$email = $r["email"];
$alder = $r["alder"];
$hjemmeside = $r["hjemmeside"];
}
?>
<form method="post" action="ret.php">
<input type="hidden" name="id" value="$id">
<table width="300">
<tr>
<td width="300" colspan="2"><b>Ret oplysninger</b></td>
</tr><tr>
<td width="150">Navn:</td>
<td width="150"><input type="text" name="navn" value="<? echo "$navn" ?>"
style="width: 152px"></td>
</tr><tr>
<td width="150">Kodeord:</td>
<td width="150"><input type="text" name="kodeord" value="<? echo
"$password"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Email:</td>
<td width="150"><input type="text" name="email" value="<? echo "$email"; ?>"
style="width: 152px"></td>
</tr><tr>
<td width="150">Alder:</td>
<td width="150"><input type="text" name="alder" value="<? echo "$alder"; ?>"
style="width: 152px"></td>
</tr><tr>
<td width="150">Hjemmeside:</td>
<td width="150"><input type="text" name="hjemmeside" value="<? echo
"$hjemmeside"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="300" colspan="2" align="right"><input type="submit" name="update"
value="Udfør"></td>
</tr>
</table>
</form>
<?
// Opdater oplysningerne
if ($update) {
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("UPDATE community SET navn='$navn',
password='$password', email='$email', alder='$alder',
hjemmeside='$hjemmeside' WHERE id='$id'") or print mysql_error();
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
?>
<?
// Hvis brugeren ikke er logget ind
} else {
?>
<center><font color="red">Kun for medlemmer</font></center>
<?
}
?>
</body>
</html>
| |
Jakob Møbjerg Nielse~ (23-08-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 23-08-02 00:33 |
|
Kemster wrote:
> <input type="hidden" name="id" value="$id">
Her er i hvert fald en fejl. Der skal stå:
<?php
echo "<input type=\"hidden\" name=\"id\" value=\"{$id}\">";
?>
> if ($update) {
> include ("config.php");
> mysql_connect($host,$user,$pass);
> mysql_select_db($db);
De tre nederste linjer har du allerede kørt en gang. Du kan bare fjerne
dem.
> $query = mysql_query("UPDATE community SET navn='$navn',
> password='$password', email='$email', alder='$alder',
> hjemmeside='$hjemmeside' WHERE id='$id'") or print mysql_error();
Her synes jeg personligt at det er pænere at skrive "or
die(mysql_error())", for at sikre sig at resten af koden ikke bliver
udført. Så vil du fx ikke få beskeden "Dine oplysninger..." selvom de
ikke er blevet opdaterede.
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.
| |
Jens Tønnesen (23-08-2002)
| Kommentar Fra : Jens Tønnesen |
Dato : 23-08-02 07:31 |
|
"Jakob Møbjerg Nielsen" <jakob@dataloger.dk> skrev den Fri, 23 Aug
2002 01:32:55 +0200 i dk.edb.internet.webdesign.serverside.php:
>echo "<input type=\"hidden\" name=\"id\" value=\"{$id}\">";
Øh, hvorfor tuborg-klammen om variablen til sidst? Er der en eller
anden side i manualen, jeg har overset?
--
Jens Tønnesen - http://www.pressefoto.dk
| |
Andreas Kleist Svend~ (23-08-2002)
| Kommentar Fra : Andreas Kleist Svend~ |
Dato : 23-08-02 13:19 |
|
Jens Tønnesen wrote:
> "Jakob Møbjerg Nielsen" <jakob@dataloger.dk> skrev den Fri, 23 Aug
> 2002 01:32:55 +0200 i dk.edb.internet.webdesign.serverside.php:
>
>>echo "<input type=\"hidden\" name=\"id\" value=\"{$id}\">";
>
> Øh, hvorfor tuborg-klammen om variablen til sidst? Er der en eller
> anden side i manualen, jeg har overset?
Den har ingen betydning her, men hvis der i stedet stod, "abc{$id}def", så
er den nødvendig, da "abc$iddef" Ikke fortæller at det er variablen $id der
snakkes om.
--
mvh Andreas Kleist Svendsen
| |
Jakob Møbjerg Nielse~ (23-08-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 23-08-02 18:04 |
|
Andreas Kleist Svendsen wrote:
> Den har ingen betydning her, men hvis der i stedet stod,
> "abc{$id}def", så er den nødvendig, da "abc$iddef" Ikke fortæller at
> det er variablen $id der snakkes om.
Jeg har vænnet mig til altid at sætte klammerne. Det giver en anden
farve i min syntax-highlighting
Og så synes jeg generelt at det er nemmere at overskue, også uden
highlighting.
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.
| |
Kemster (23-08-2002)
| Kommentar Fra : Kemster |
Dato : 23-08-02 20:19 |
|
Sorry gutter, men en nOOb som mig er altså hægtet af....
Jeg har forsøgt at følge jeres forslag så godt som jeg har kunnet, men
desværre uden held ;-(
Tror at jeg giver op.
1000000 tak for den hjælp i HAR givet.... ( bare jeg dog forstod den ---> he
he )
MVH
Kemster
| |
Jakob Møbjerg Nielse~ (23-08-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 23-08-02 20:34 |
|
Kemster wrote:
> Jeg har forsøgt at følge jeres forslag så godt som jeg har kunnet, men
> desværre uden held ;-(
Så post den kode du har fået lavet nu.
> Tror at jeg giver op.
Don't. Man skal bare lige vænne sig til at det kan drille.
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.
| |
Kemster (23-08-2002)
| Kommentar Fra : Kemster |
Dato : 23-08-02 21:37 |
|
> Så post den kode du har fået lavet nu.
Jeg tror sgu at den er gået helt i " skuder muder "
Men jeg kan ikke helt forstå hvis ikke det er ganske simpelt ? at der ikke
bare er en enkelt kommendo til at opdatere en MySQL table
Jeg ved godt at jeg ikke fatter en skid af det, og det er sikkert bare mig
der er gået lidt skævt ind på det.... men jeg kan bare se SÅÅÅ mange
muligheder i det skidt.
Hvis i kan bruge det til noget, så burde i kunne se opsætningen af serveren
her http://venus.powweb.com/phpinfo.php
MVH
Kemster
| |
Jakob Møbjerg Nielse~ (23-08-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 23-08-02 23:51 |
|
Kemster wrote:
> Jeg tror sgu at den er gået helt i " skuder muder "
Det er ligemeget . Vi har jo stadig din gamle kode.
> Men jeg kan ikke helt forstå hvis ikke det er ganske simpelt ? at der
> ikke bare er en enkelt kommendo til at opdatere en MySQL table
Jo, det er skam simpelt nok, og det var heller ikke der fejlen lå.
Fejlen lå i at du ikke fik det rigtige ID med over på opdateringssiden.
Din linje
<input type="hidden" name="id" value="$id">
stod ikke imellem <?php ?> tags, og derfor blev den ikke fortolket. Det
gør
<?php
echo "<input type=\"hidden\" name=\"id\" value=\"{$id}\">";
?>
derimod. Browseren vil her modtage den fortolkede version af denne
sætning, altså hvor $id's indhold bliver sendt afsted. Lad os sige at
$id = 5, og siden der modtager form dataene indholder '"echo ID er
$id;'. Hvis den øverste linje (din version) bliver sendt afsted vil
følgende blive udskrevet:
ID er $id
Med den anden version, vil der stå:
ID er 5
Den SQL sætning der forsøges udført vil mao. blive:
UPDATE community SET navn='Jakob', password='qwerty',
email='jakob@dataloger.dk', alder='22', hjemmeside='jakobnielsen.dk'
WHERE id='$id'
i stedet for
UPDATE community SET navn='Jakob', password='qwerty',
email='jakob@dataloger.dk', alder='22', hjemmeside='jakobnielsen.dk'
WHERE id='5'
som det bør være[1]. Det resulterer selvfølgelig i at der ikke bliver
sat noget ind, da du ikke har nogen rækker i databasen hvor id feltet
indeholder $id.
> men jeg kan bare se SÅÅÅ mange muligheder i det skidt.
Det er der skam også.
[1]: Hvis dit id felt er af typen int (eller et andet numerisk felt), så
skal der stå: "WHERE id=5" (altså uden plingerne ('). De skal kun bruges
rundt om tekst- og datofelter).
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.
| |
Jens Kristian Søgaa~ (23-08-2002)
| Kommentar Fra : Jens Kristian Søgaa~ |
Dato : 23-08-02 23:56 |
|
"Jakob Møbjerg Nielsen" <jakob@dataloger.dk> writes:
> <?php
> echo "<input type=\"hidden\" name=\"id\" value=\"{$id}\">";
> ?>
Vil blot lige nævne, at man for overskuelighedens skyld kan skrive det som:
<input type="hidden" name="id" value="<?=id?>">
(hvis man har short tags på, ellers med en ekstra php føjet ind)
--
Jens Kristian Søgaard, Mermaid Consulting ApS Aalborg,
jens@mermaidconsulting.dk,
http://www.mermaidconsulting.com/
| |
Jakob Møbjerg Nielse~ (24-08-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 24-08-02 00:43 |
|
Jens Kristian Søgaard wrote:
> <input type="hidden" name="id" value="<?=id?>">
Nå ja (well, <?=$id?>).
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.
| |
Jens Kristian Søgaa~ (24-08-2002)
| Kommentar Fra : Jens Kristian Søgaa~ |
Dato : 24-08-02 00:53 |
|
"Jakob Møbjerg Nielsen" <jakob@dataloger.dk> writes:
> > <input type="hidden" name="id" value="<?=id?>">
> Nå ja (well, <?=$id?>).
Damn, der fik du mig!
Men okay, hjernen skal jo også lige op i omdrejninger - der er stadig
lidt tid til semesterstart
--
Jens Kristian Søgaard, Mermaid Consulting ApS,
jens@mermaidconsulting.dk,
http://www.mermaidconsulting.com/
| |
Kemster (24-08-2002)
| Kommentar Fra : Kemster |
Dato : 24-08-02 11:33 |
|
I er fande nogle rigtige guttermæmd herinde... nu virker det jo..... synes
godt nok at jeg havde prøvet det du skrev ... men der må være sket et eller
andet.... men denne gang virker det sørme....
1000000 tak for hjælpen.. jeg var ellers på opgivelsens rand.
Nu kan jeg da komme lidt videre med PHP --> Jeg lære det jo nok engang.
MVH
Kemster
| |
Karsten Bynck (23-08-2002)
| Kommentar Fra : Karsten Bynck |
Dato : 23-08-02 07:02 |
| | |
Johan Holst Nielsen (22-08-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 22-08-02 17:36 |
|
Kemster wrote:
> Hvordan får jeg en PHP side til at opdatere til MySQL ?
> Kan nogen se om den her er helt gal ?
>
> include ("config.php");
> mysql_connect($host,$user,$pass);
> mysql_select_db($db);
> $query = mysql_query("UPDATE community SET alder='$navn',
> password='$password', email='$email', alder='$alder',
> hjemmeside='$hjemmeside' WHERE id='$id'") or print mysql_error();
> echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
prøvet
mysql_query("UPDATE community SET navn='".$_REQUEST['navn']."',.....
WHERE id = '".$_REQUEST['id']."'");
Sikker på register_globals = on? eller skal du bruge ovenstående...
Tjek evt. i din php.ini fil :)
mvh
Johan
| |
|
|