abonnement Unibet Coolblue Bitvavo
  zondag 29 mei 2005 @ 20:37:25 #211
32768 DionysuZ
Respect my authority!
pi_27462923
1UPDATE users SET naam='".$naam."', wachtwoord='".$wachtwoord."'

etc... dus niet (naam, wachtwoord,...) VALUES maar gewoon toekenningen met een komma ertussen
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_27462935
Kleine toevoeging: Ik had eerst INSERT gebruikt, kreeg dus de melding " veld bestaat al " (maar dan niet in nld ) en heb dat dus maar heel vrij aangepast naar bovenstaande...
  zondag 29 mei 2005 @ 20:38:05 #213
32768 DionysuZ
Respect my authority!
pi_27462942
ik neem btw aan dat je wel nog n WHERE clause eraan wilt hangen, aangezien je anders alle users aanpast?
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_27462962
quote:
Op zondag 29 mei 2005 20:37 schreef DionysuZ het volgende:

[ code verwijderd ]

etc... dus niet (naam, wachtwoord,...) VALUES maar gewoon toekenningen met een komma ertussen
Danku, ik ga het proberen
  zondag 29 mei 2005 @ 20:41:12 #215
32768 DionysuZ
Respect my authority!
pi_27463028
als je bijv. een user met id=1 een nieuwe naam en wachtwoord wilt geven kun je dat zo doen:
1UPDATE users SET naam='{$naam}', wachtwoord='{$wachtwoord}' WHERE id=1
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_27463214
quote:
Op zondag 29 mei 2005 20:38 schreef DionysuZ het volgende:
ik neem btw aan dat je wel nog n WHERE clause eraan wilt hangen, aangezien je anders alle users aanpast?
das wel handig

Die code die ik net dus overnam zonder where werkte, muv het feit dat er geen gegevens in de database kwamen

nu heb ik:
1
2
3
<?php
$sql_query
= "UPDATE users SET naam='".$naam."', wachtwoord='".$wachtwoord."' , profiel1='".$profiel1."', profiel2='".$profiel2."', profiel3='".$profiel3."', profiel4='".$profiel4."', afbeelding1='".$afbeelding1."', afbeelding2='".$afbeelding2."', afbeelding3='".$afbeelding3."' WHERE naam='" . $_SESSION["naam"]";
?>


Maar nu krijg ik dus gewoon een foutmelding....
pi_27463226
quote:
Op zondag 29 mei 2005 17:48 schreef Nevermind het volgende:
Die werkt wel prima. Waarom imagefilltoborder niet werkt snap ik niet.
Je gebruikte imagecolorallocate() om een kleur te specificeren, terwijl je eigenlijk imagecolorresolve() moet gebruiken. De eerste functie maakt een nieuwe kleur in de kleurenindex van de afbeelding, in jouw geval dus een nieuwe kleur met RGB=0,0,0 en de tweede functie zal een kleur opzoeken met RGB=0,0,0, wat dus zwart is in jouw afbeelding.

Je hele afbeelding werd dus rood, niet doordat de kleuren verschilden (ze waren immers allebei zwart), maar doordat de identifiers voor de kleuren verschilden (de waardes waren anders, maar ze verwezen allebei naar zwart). De functie imagefill() gebruikt als startwaarde de kleur op coördinaten x,y en stopt zodra hij een andere willekeurige kleur tegenkomt.
pi_27463262
quote:
Op zondag 29 mei 2005 20:48 schreef LeeHarveyOswald het volgende:

[..]

Maar nu krijg ik dus gewoon een foutmelding....
Je hebt nog een quote op het einde van je regel staan.

Kijk je trouwens ook nog even naar deze post van mij?
pi_27463363
quote:
Op zondag 29 mei 2005 20:50 schreef JeRa het volgende:

[..]

Je hebt nog een quote op het einde van je regel staan.

Kijk je trouwens ook nog even naar deze post van mij?
Van die post vat ik niet heel veel

Ik heb die " weggehaald, nu krijg ik niet direct een foutmelding te zien, maar wel na het " doorvoeren " :

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 ''' at line 1

Gegevens worden ook niet gewijzigd..
  zondag 29 mei 2005 @ 20:57:03 #220
32768 DionysuZ
Respect my authority!
pi_27463443
1naam='" . $_SESSION["naam"]";

moet zijn
1naam='" . $_SESSION["naam"]."'";
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_27463542
quote:
Op zondag 29 mei 2005 20:57 schreef DionysuZ het volgende:

[ code verwijderd ]

moet zijn
[ code verwijderd ]
Danku! geen foutmelding maar mn database blijft erg leeg? (alle velden muv wachtwoord en naam waren nog leeg)
pi_27463694
Ik heb trws in mn inlog pagina staan:
$user = $_POST["naam"];
$_SESSION['user'] = $user;

En boven die query heb ik staan:
$naam = $_SESSION["user"];

Dat moet dan toch werken?
pi_27463733
quote:
Op zondag 29 mei 2005 21:00 schreef LeeHarveyOswald het volgende:

[..]

Danku! geen foutmelding maar mn database blijft erg leeg? (alle velden muv wachtwoord en naam waren nog leeg)
Als je na het maken van de query
1
2
3
<?php
echo $sql_query;
?>

doet kun je zien welke query er wordt uitgevoerd dat helpt misschien met het debuggen.
pi_27463770
quote:
Op zondag 29 mei 2005 21:06 schreef LeeHarveyOswald het volgende:
Dat moet dan toch werken?
Dat weet je pas zodra je weet welke query er wordt uitgevoerd
pi_27463938
quote:
Op zondag 29 mei 2005 21:08 schreef JeRa het volgende:

[..]

Dat weet je pas zodra je weet welke query er wordt uitgevoerd
Daar gaat dus idd iets "goed" mis:

1$sql_query = "UPDATE users SET naam='".$naam."', wachtwoord='".$wachtwoord."' , profiel1='".$profiel1."', profiel2='".$profiel2."', profiel3='".$profiel3."', profiel4='".$profiel4."', afbeelding1='".$afbeelding1."', afbeelding2='".$afbeelding2."', afbeelding3='".$afbeelding3."' WHERE naam='" . $_SESSION["naam"]."'";


geeft
quote:
Welkom, u bent aangemeld als testuser
Uw wachtwoord is: test

UPDATE users SET naam='testuser', wachtwoord='098f6bcd4621d373cade4e832627b4f6' , profiel1='', profiel2='', profiel3='', profiel4='', afbeelding1='', afbeelding2='', afbeelding3='' WHERE naam=''Gegevens zijn gewijzigd! Inloggen.
edit: naam en wachtwoord kloppen, de rest blijft dus leeg
pi_27464004
Nu is het dus zaak aan jou om uit te zoeken hoe het komt dat die variabelen leeg zijn
  zondag 29 mei 2005 @ 21:18:25 #227
32768 DionysuZ
Respect my authority!
pi_27464064
tuurlijk werkt die niet. Check je WHERE clause. Where naam = ''. Staat er iemand in de DB met een lege naam? Anders past hij natuurlijk helemaal niets aan
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_27464176
quote:
Op zondag 29 mei 2005 21:16 schreef JeRa het volgende:
Nu is het dus zaak aan jou om uit te zoeken hoe het komt dat die variabelen leeg zijn
Het woord variabele gaf al genoeg hints, want die ontbraken dus gewoon

Probleem 2: alle velden zijn ingevuld, naam ook, behalve achter de WHERE

Dus naam = ingelogde naam werkt wel, maar where naam = ingelogde naam weer niet
pi_27464248
Lama het werkt, kleine typo

edit: en heel erg bedankt
  zondag 29 mei 2005 @ 21:24:42 #230
32768 DionysuZ
Respect my authority!
pi_27464283
nee bij de eerste gebruik je $naam, bij de tweede $_SESSION["naam"], dus ergens gaat iets fout met je sessie-naam toekenning
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_27465352
Nog een vraagje Alles uitlezen uit de database lijkt me niet moeilijk:

SELECT * FROM users WHERE naam = [ingevoerde naam]

Maar hoe krijg ik dan de resultaten, én hoe krijg ik deze mooi in een tekst?

En hoe kan ik dan die ingevoerde naam uit een URL vissen?
pi_27465915
quote:
Op zondag 29 mei 2005 21:59 schreef LeeHarveyOswald het volgende:
Nog een vraagje Alles uitlezen uit de database lijkt me niet moeilijk:

SELECT * FROM users WHERE naam = [ingevoerde naam]

Maar hoe krijg ik dan de resultaten, én hoe krijg ik deze mooi in een tekst?
1
2
3
4
5
6
7
8
9
<?php
//Query uitvoeren
$result = mysql_query($query);

//Data binnenhalen
$data = mysql_fetch_assoc($result);  //dit haalt één rij op

echo $data['naam'];  //bijvoorbeeld
?>
quote:
En hoe kan ik dan die ingevoerde naam uit een URL vissen?
Hoe bedoel je? Met $_GET kun je variabelen aanspreken die d.m.v. de URL zijn ingesteld
pi_27466128
quote:
Op zondag 29 mei 2005 21:59 schreef LeeHarveyOswald het volgende:
Nog een vraagje Alles uitlezen uit de database lijkt me niet moeilijk:

SELECT * FROM users WHERE naam = [ingevoerde naam]

Maar hoe krijg ik dan de resultaten, én hoe krijg ik deze mooi in een tekst?

En hoe kan ik dan die ingevoerde naam uit een URL vissen?
Dat doe je bijvoorbeeld met mysql_fetch_array.
En de naam vis je uit de url met $_GET.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$ingevoerdenaam
= $_GET['naam'];
$sql = "SELECT * FROM users WHERE naam = '".$ingevoerde naam."'";
$query = mysql_query($sql) or die(mysql_error());
while (
$result = mysql_fetch_array($query)) {
$naam = $result['naam'];
$profiel1 = $result['profiel1'];
// etc.
echo"".$naam."";
echo
"".$profiel1."";
}
?>
pi_27466246
Onderstaande code geeft bij www.pestforum.nl/profile/profiel.php?naam=Jeroen alleen "Jeroen" ...

Hoe krijg ik dan alle info die ik wil weergeven? (alles MUV wachtwoord)
1
2
3
4
5
6
7
8
9
10
11
<?php
include("connection.php");
//Query uitvoeren
$query = "SELECT * FROM users WHERE naam='" . $_GET["naam"]  ."';";
$result = mysql_query($query);

//Data binnenhalen
$data = mysql_fetch_assoc($result);  //dit haalt één rij op

echo $data['naam'];  //bijvoorbeeld
?>
pi_27466525
Nou ja, je hebt natuurlijk wel een beetje HTML kennis nodig als je er iets van wilt maken, he. Maar dit is ff simpel gedaan:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
include("connection.php");
//Query uitvoeren
$naam = isset($_GET['naam']) ? $_GET['naam'] : '';
$query = "SELECT * FROM users WHERE naam='" . mysql_real_escape_string($naam)  ."';";
$result = mysql_query($query);

//Data binnenhalen
$data = mysql_fetch_assoc($result);  //dit haalt één rij op

print_r($data);  //toont variabelinformatie
?>
pi_27469578
Ik heb nu alles hier helemaal werkend, alleen voor de pagina waarop je dus je profiel aanpast, leek het mij wel handig dat daar de velden zijn ingevuld met de huidige waarde. (zodat je niet alles helemaal overnieuw hoeft te doen)

Ik had dit alsvolgt geprobeerd (bovenste deel code, onderste deel werkt, hoewel mss niet zo netjes opgebouwd)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php session_start();
include("connection.php");
$naam = $_GET['naam'];
$sql = "SELECT * FROM users WHERE naam = '".$naam."'";
$query = mysql_query($sql) or die(mysql_error());
while ($result = mysql_fetch_array($query)) {
$profiel1 = $result['profiel1'];
$profiel2 = $result['profiel2'];
$profiel3 = $result['profiel3'];
$profiel4 = $result['profiel4'];
$afbeelding1 = $result['afbeelding1'];
$afbeelding2 = $result['afbeelding2'];
$afbeelding3 = $result['afbeelding3'];
$afbeelding5 = $result['afbeelding4'];
$afbeelding4 = $result['afbeelding5'];
profiel1 = $profiel1;
profiel1 = $profiel2;
profiel1 = $profiel3;
profiel1 = $profiel4;
afbeelding1 = $afbeelding1
afbeelding2 = $afbeelding2
afbeelding3 = $afbeelding3
afbeelding4 = $afbeelding4
afbeelding5 = $afbeelding5
?>
<HTML>
<HEAD><TITLE>Pas je profiel aan.</TITLE>
</HEAD>
<BODY>
<?php
if(!isset($_SESSION["user"])){
$text = "U bent niet goed ingelogd, ga terug naar <A HREF='login.php'>de login pagina</A> of naar <A HREF='registreer.php'>de registreer pagina</A>";
echo($text);
}
else{?>
<LINK HREF="http://www.pestforum.nl/white.css" TYPE="text/css" REL="stylesheet">
Welkom <?php echo($_SESSION["user"]);?><BR>
Pas hier je profiel aan. De indeling van je profiel wordt alsvolgt:
<ul>
<li>Welkom op het profel van <?php echo($_SESSION["user"]);?>
<li>[afbeelding 1]
<li> Tekst 1
<li>[afbeelding 2]
<li> Tekst 2
<li>[afbeelding 3]
<li> Tekst 3
<li>[afbeelding 4]
<li> Tekst 4
<li>[afbeelding 5]

<P>
<?php
include("connection.php");
if(!empty($_POST)){
$naam = $_SESSION["user"];
$wachtwoord = md5($_SESSION['wachtwoord']);
$profiel1 = $_POST['profiel1'];
$profiel2 = $_POST['profiel2'];
$profiel3 = $_POST['profiel3'];
$profiel4 = $_POST['profiel4'];
$afbeelding1 = $_POST['afbeelding1'];
$afbeelding2 = $_POST['afbeelding2'];
$afbeelding3 = $_POST['afbeelding3'];
$afbeelding4 = $_POST['afbeelding4'];
$afbeelding5 = $_POST['afbeelding5'];
$sql_query = "UPDATE users SET naam='".$naam."', wachtwoord='".$wachtwoord."' , profiel1='".$profiel1."', profiel2='".$profiel2."', profiel3='".$profiel3."', profiel4='".$profiel4."', afbeelding1='".$afbeelding1."', afbeelding2='".$afbeelding2."', afbeelding3='".$afbeelding3."', afbeelding4='".$afbeelding4."', afbeelding5='".$afbeelding5."' WHERE naam='".$naam."'";
$result = mysql_query($sql_query) or die(mysql_error());
$text="Gegevens zijn gewijzigd! <A HREF=\"profiel.php?naam=\"$naam>Bekijk je profiel.</A>";
die($text);

}
?>


<FORM NAME="form2" METHOD="post" ACTION="<?php echo($_SERVER["PHP_SELF"]);?>">
<p>profiel teksten:</p>
Tekst1: <INPUT TYPE="text" NAME="profiel1" MAXLENGTH="300"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel2" MAXLENGTH="300"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel3" MAXLENGTH="300"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel4" MAXLENGTH="300"><BR>
<p>Afbeeldingen voor op je profiel (URL, maximaal 70 tekens lang) </p>
Afbeelding1: <INPUT TYPE="text" NAME="afbeelding1" MAXLENGTH="70"><BR>
Afbeelding2: <INPUT TYPE="text" NAME="afbeelding2" MAXLENGTH="70"><BR>
Afbeelding3: <INPUT TYPE="text" NAME="afbeelding3" MAXLENGTH="70"><BR>
Afbeelding4: <INPUT TYPE="text" NAME="afbeelding4" MAXLENGTH="70"><BR>
Afbeelding5: <INPUT TYPE="text" NAME="afbeelding5" MAXLENGTH="70"><BR>

<INPUT TYPE="submit" VALUE="Wijzig">
</FORM>
>


<A HREF="loguit.php">Log hier uit!</A>
<?php
}
?>
</BODY>
</HTML>


Iemand een idee?
pi_27469964
quote:
Op maandag 30 mei 2005 00:10 schreef LeeHarveyOswald het volgende:
Ik heb nu alles hier helemaal werkend, alleen voor de pagina waarop je dus je profiel aanpast, leek het mij wel handig dat daar de velden zijn ingevuld met de huidige waarde. (zodat je niet alles helemaal overnieuw hoeft te doen)

Ik had dit alsvolgt geprobeerd (bovenste deel code, onderste deel werkt, hoewel mss niet zo netjes opgebouwd)
[ code verwijderd ]

Iemand een idee?
De while loop kan weg, omdat je de naam van het profiel in principe uniek is (geen twee keer Jeroen b.v.), dus als je de gegevens opvraagt met een WHERE clause, dan gaat dat wel goed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$naam
= $_GET['naam'];
$sql = "SELECT * FROM users WHERE naam = '".$naam."'";
$query = mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($query);
$profiel1 = $result['profiel1'];
$profiel2 = $result['profiel2'];
$profiel3 = $result['profiel3'];
$profiel4 = $result['profiel4'];
$afbeelding1 = $result['afbeelding1'];
$afbeelding2 = $result['afbeelding2'];
$afbeelding3 = $result['afbeelding3'];
$afbeelding5 = $result['afbeelding4'];
$afbeelding4 = $result['afbeelding5'];
?>



Nou, nadat je de gegevens uit de tabel hebt gehaald, zorg je dat ze in het formulier worden ingevuld.
Dat gaat zo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<FORM NAME="form2" METHOD="post" ACTION="<?php echo($_SERVER["PHP_SELF"]);?>">
<p>profiel teksten:</p>
Tekst1: <INPUT TYPE="text" NAME="profiel1" MAXLENGTH="300" value="<? echo"".$profiel1."";?>"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel2" MAXLENGTH="300" value="<? echo"".$profiel2."";?>"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel3" MAXLENGTH="300" value="<? echo"".$profiel3."";?>"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel4" MAXLENGTH="300" value="<? echo"".$profiel4."";?>"><BR>
<p>Afbeeldingen voor op je profiel (URL, maximaal 70 tekens lang) </p>
Afbeelding1: <INPUT TYPE="text" NAME="afbeelding1" MAXLENGTH="70"><BR>
Afbeelding2: <INPUT TYPE="text" NAME="afbeelding2" MAXLENGTH="70"><BR>
Afbeelding3: <INPUT TYPE="text" NAME="afbeelding3" MAXLENGTH="70"><BR>
Afbeelding4: <INPUT TYPE="text" NAME="afbeelding4" MAXLENGTH="70"><BR>
Afbeelding5: <INPUT TYPE="text" NAME="afbeelding5" MAXLENGTH="70"><BR>

<INPUT TYPE="submit" VALUE="Wijzig">
</FORM>

En bij de afbeeldingen kun je zelf wel invullen volgens hetzelfde principe
pi_27470115
Thank you!

Afbeeldingen kan ik zo zeker ook doen, want dat zijn tekst velden (url) ..

Ik ga het proberen!
pi_27470231
hmm geen foutmelding, maar mn velden blijven leeg?
pi_27470315
quote:
Op maandag 30 mei 2005 00:39 schreef LeeHarveyOswald het volgende:
hmm geen foutmelding, maar mn velden blijven leeg?
hmm..... wordt alles wel uit de database gehaald?
Doe anders eens ff
1
2
3
<?php
print_r
($result);
?>

om te kijken wat uit de tabel geselecteerd wordt.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')