/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

En hurtig tanke fra morgenstunden
Mangler der ikke session_register
http://www.php.net/manual/en/function.session-register.php
Hilsen Karsten

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


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste