abonnement Unibet Coolblue Bitvavo
pi_27416063
quote:
Op vrijdag 27 mei 2005 19:31 schreef JeRa het volgende:
Persoonlijk vind ik het beter leesbaar als dingen als .+? tussen haakjes worden gezet, daarom heb ik dat bij mij ook gedaan. Maar die punt hoort daar niet, dan zou <ablaathref> ook gematched worden namelijk (punt = elk willekeurig karakter; \s = whitespace).
1<a border="0" href="http://example.com">link</a>


Helaas is het valide HTML. Die moet dus ook gematched worden.
quote:
Dat (\"|') klopt gewoon. Maar waarom je ophoudt met '.+' is mij een raadsel, je zult toch moeten aangeven dat je alleen die tag en niet al het opvolgende wilt matchen.
1<a border="0" href="http://example.com" id="pipo" color=red>link</a>


Opnieuw valide HTML. Overigens eindigd mijn regex wel in een >, voor zover ik weet. [edit]Ah, copy/paste foutje. De > stond er wel degelijk ik begon aan mezelf te twijfelen...[/edit]

Dat is ook een beetje mijn probleem. Regexen zijn niet woest geschikt voor dit soort mishandeling
Op een of andere manier is er een stukje wat TE greedy is.
pi_27416312
Regexen zijn prima geschikt. Het vereist gewoon wat werk

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$test
= array(
    
'<a href="http://www.example.comview.php?x=11111" id="ID"><img src="http://image.examplke.com/example.jpg" border="0"></a>Dit is maar een voorbeeldje.',
    
'<a border="0" href="http://blaat.com">link</a>',
    
'<a border="0" href="http://example.com" id="pipo" color=red>link</a>',
    
'<a href="test">blaat</a>'
);

foreach (
$test as $item) {
    echo
htmlentities(preg_replace('/<a(\s+?)(.+?)(\s+?)href=("|\')(.+?)("|\')(.*?)>/i', '<a href="$3" target="_blank">', $item)) . '<br />';
}
?>

Werkt deze beter?
pi_27420807
quote:
Op vrijdag 27 mei 2005 20:07 schreef JeRa het volgende:
Regexen zijn prima geschikt. Het vereist gewoon wat werk
1
2
3
<?php
htmlentities
(preg_replace('/<a(\s+?)(.+?)(\s+?)href=("|\')(.+?)("|\')(.*?)>/i', '<a href="$3" target="_blank">', $item)) . '<br />';
?>


Werkt deze beter?
Niet helemaal, omdat de (\s+?)(.+?)(\s+?) constructie niet matched op bijvoorbeeld:

1<a border="0" id="pipo" href="http://example.com" color=red>


En ja, de dwaas die zijn HTML zo schrijft moet neergeschoten worden, maar dat is beside the point Hoedanook, kleine aanpassing:

1
2
3
<?php
$Out_Content
= preg_replace('/<a(.+?)href=("|\')(.+?)("|\')(.*?)>/i', '<a href="$3" target="_blank">', $Out_Content);
?>


Dat werkt wel, door de (.+?) wordt alles tussen de a en de href gematched, non-greedy. Dus voorlopig is dit de oplossing, al heb ik de indruk dat ik het al eens geprobeerd had Maargoed, het werkt! Dank voor de hulp!
pi_27420934
quote:
Op vrijdag 27 mei 2005 23:14 schreef TimberWolf het volgende:

[..]

Niet helemaal, omdat de (\s+?)(.+?)(\s+?) constructie niet matched op bijvoorbeeld:
[ code verwijderd ]
Als je mijn script letterlijk overneemt en jouw testcase in de array zet, parset ie 'm gewoon hoor. Bovendien zal jouw nieuwe regex ook constructies als '<abhref...' matchen, en die van mij niet (vandaar de \s'en)

edit: in jouw testcase staat de (.+?) dus gelijk aan 'border="0" id="pipo"', en de twee whitespaces eromheen zullen matchen op de spatie tussen de 'a' en 'border', en de '"pipo"' en 'href'.

[ Bericht 11% gewijzigd door JeRa op 27-05-2005 23:24:23 ]
pi_27443629
@Nevermind: is even offline door 500GB bandwidth door een mongool
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_27455889
Matige grap .

Ik heb een probleempje met imagefilltoborder. Ik heb deze afbeelding:


Ik wil het bovenste vlak inkleuren met een kleur. De lijnen zijn zwart (0, 0, 0). Waarom wordt de hele afbeelding rood als ik deze code gebruik?

1
2
3
$brd = imagecolorallocate($im, 0,0,0);
$clr = imagecolorallocate($im, 255,0,0);
imagefilltoborder($im, 200, 10, $brd, $clr);
pi_27458086
Ik geloof dat ik de imagefill functie verkeerd begreep. Die werkt wel prima. Waarom imagefilltoborder niet werkt snap ik niet.
pi_27462846
Ik heb een vraagje, meer SQL als PHP. Wel de meest grote noob vraag tot nu toe geloof ik


Ik wilde met onderstaande code gegevens wijzigen, maar dat werkt niet. Dat snap ik. Hoe doe ik dat wel goed?
1
2
3
4
5
6
7
<?php
$sql_query
= "UPDATE users SET (naam, wachtwoord, profiel1, profiel2, profiel3, profiel4, afbeelding1, afbeelding2, afbeelding3) ";
$sql_query .="VALUES ('".$naam."', '".$wachtwoord."', '".$profiel1."', '".$profiel2."', '".$profiel3."', '".$profiel4."', '".$afbeelding1."', '".$afbeelding2."', '".$afbeelding3."');";
$result = mysql_query($sql_query) or die(mysql_error());
$text="Gegevens zijn gewijzigd!  <A HREF=\"login.php\">Inloggen.</A>";
die(
$text);
?>
  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.
pi_27470361
Ow en volgens mij moet je onderaan ergens nog de sluitingsaccolade (}) van de while loop weghalen.
pi_27470666
Probleem gevonden! er stond boven in een verwijzing naar GET terwijl naam hier uit session(user) oid. moest komen. opgelost thnq!
pi_27476550
Ik blijf nog even lastig

Ik wil mn google banner naast een profiel hebben, dus ik met echo"<Td>"; etc etc mooi tabelletje gemaakt, alles lukt, behalve de code voor de banner:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
echo"<td> <script type="text/javascript"><!--";
echo
"google_ad_client = "pub-9895364501562730"; ";
echo
"google_ad_width = 120; ";
echo
"google_ad_height = 600; ";
echo
"google_ad_format = "120x600_as"; ";
echo
"google_ad_type = "text"; ";
echo
"google_ad_channel ="9150908446"; ";
echo
"google_page_url = document.location; ";
echo
"google_color_border = "336699"; ";
echo
"google_color_bg = "BCD0ED"; ";
echo
"google_color_link = "0000FF"; ";
echo
"google_color_url = "008000"; ";
echo
"google_color_text = "3A4F6C"; ";
echo
"//--></script> ";
echo
"<script type="text/javascript" ";
echo
"  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> ";
echo"</script> ";
?>


Wat doe ik verkeerd?
pi_27476655
waarom doe je eigenlijk 2x text/javascript?
pi_27476741
quote:
Op maandag 30 mei 2005 11:28 schreef LeeHarveyOswald het volgende:
Ik blijf nog even lastig

Ik wil mn google banner naast een profiel hebben, dus ik met echo"<Td>"; etc etc mooi tabelletje gemaakt, alles lukt, behalve de code voor de banner:
[ code verwijderd ]

Wat doe ik verkeerd?
Omdat de dubbele quotes (") bedoeld zijn voor het openen en sluiten van een echo tag, moet je die escapen met slashes als je die binnen de echo wilt gebruiken.

1
2
3
4
5
6
<?php
php
echo"<td> <script type=\"text/javascript\"><!--";
echo
"google_ad_client = \"pub-9895364501562730\"; ";
//etc.
?>


Maar ik denk niet dat het nodig is dat de Google code tussen php tags staat, dus dat kun je gewoon neerzetten in html.

En je kunt trouwens een echo gebruiken voor meerdere regels, dus je hoeft niet elke nieuwe
regel met echo te starten:

1
2
3
4
5
6
7
<?php
echo" hier een
heleboel
tekst over
meerdere
regels"
;
?>
pi_27477000
quote:
Op maandag 30 mei 2005 11:31 schreef Scorpie het volgende:
waarom doe je eigenlijk 2x text/javascript?
'couse google wants it?
pi_27477024
quote:
Op maandag 30 mei 2005 11:33 schreef MouseInteractive het volgende:

[..]

Omdat de dubbele quotes (") bedoeld zijn voor het openen en sluiten van een echo tag, moet je die escapen met slashes als je die binnen de echo wilt gebruiken.
[ code verwijderd ]

Maar ik denk niet dat het nodig is dat de Google code tussen php tags staat, dus dat kun je gewoon neerzetten in html.

En je kunt trouwens een echo gebruiken voor meerdere regels, dus je hoeft niet elke nieuwe
regel met echo te starten:
[ code verwijderd ]
Hoe krijg ik dan mn google code buiten de PHP maar binnen de tabel?
pi_27477063
Dat laatste was een stomme vraag en het is dus op een veel simpelere manier dan dat ik dacht dat nodig was gelukt danku allen
pi_27477155
quote:
Op maandag 30 mei 2005 11:42 schreef LeeHarveyOswald het volgende:

[..]

Hoe krijg ik dan mn google code buiten de PHP maar binnen de tabel?
Sluit de php tag even, en ga dan gewoon verder met HTML en je google code.

dus:
1
2
3
4
5
6
7
?> <!-- Sluit php tag -->
<td>
<script type="text/javascript" language="JavaScript">
<!-- HIer wat google dingen -->
</td> <!-- Tabelcel sluiten -->
<?php //Php weer openen
//Hier verder met de rest van je code
pi_27477178
quote:
Op maandag 30 mei 2005 11:43 schreef LeeHarveyOswald het volgende:
Dat laatste was een stomme vraag en het is dus op een veel simpelere manier dan dat ik dacht dat nodig was gelukt danku allen
Ok
pi_27477359
quote:
Op maandag 30 mei 2005 11:46 schreef MouseInteractive het volgende:

[..]

Sluit de php tag even, en ga dan gewoon verder met HTML en je google code.

dus:
[ code verwijderd ]
Zo simpel had ik er dus nog niet over na gedacht

Hoe kan ik eigenlijk alle namen in beeld krijgen? ik weet nu dus wel hoe ik van 1 persoon alle info in beeld krijg, maar ik wil een overzichtje maken met namen in de database..

how to?
pi_27477697
quote:
Op maandag 30 mei 2005 11:53 schreef LeeHarveyOswald het volgende:

[..]
Hoe kan ik eigenlijk alle namen in beeld krijgen? ik weet nu dus wel hoe ik van 1 persoon alle info in beeld krijg, maar ik wil een overzichtje maken met namen in de database..
Dat doe je dus met een "while" lus.
De functie mysql_fetch_array haalt maar één rij tegelijk op. Wil je dus alle aanwezige namen in de tabel zien, dan moet je ervoor zorgen dat er net zolang rijen opgehaald blijven worden totdat alles op het scherm staat.

1
2
3
4
5
6
7
8
9
10
$sql = "SELECT naam FROM users; /* Je kunt naam ook vervangen door "*" om ook de profielteksten e.d. mee te nemen */
$query = mysql_query($sql) or die(mysql_error());

echo"<table>"; //Tabel maken
while ($result = mysql_fetch_array($query)) { /* Net zolang rijen ophalen en met <td>
aan de tabel toevoegen totdat er niks meer is */
$naam = $result['naam'];
echo"<tr><td>".$naam."</td></tr>";
}
echo"</table>"; //Tabel afsluiten

pi_27477893
kleine dingen aangepast en het werkt geweldig thnx
pi_27478075
Joh als je PHP en MySQL eenmaal door begint te krijgen, wordt het steeds leuker
pi_27478214
quote:
Op maandag 30 mei 2005 12:16 schreef MouseInteractive het volgende:
Joh als je PHP en MySQL eenmaal door begint te krijgen, wordt het steeds leuker
Ik vind het nu al helemaal geweldig
pi_27482218
quote:
Op zondag 29 mei 2005 20:48 schreef JeRa het volgende:

[..]

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.
Helder! Bedankt voor de uitleg!
  maandag 30 mei 2005 @ 15:16:03 #257
73209 dnzl
Minimalist.
pi_27483189
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
$message = '

<html>
<head>
<title>Hoi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="http://www.networksystemintegration.nl/employees/style.css"/>
</head>

<body>
<table width="547" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="547"><div align="right"><img src="file:///L|/NSI%20v3.0/employees/images/nieuwdag.jpg" width="250" height="100"></div></td>
  </tr>
  <tr> 
    <td height="90">
<p>Beste,<br>
        <br>
       '.$user['firstname'].' heeft zijn dagstaat afgerond. Hieronder volgt een korte 
        samenvatting van zijn/haar werkzaamheden. </p></td>
  </tr>
</table>
<br>
<table width="500" border="0" cellspacing="1" cellpadding="2" class="tablehead">
  <tr> 
    <td width="70" class="rowA"><strong>Van </strong></td>
    <td width="70" class="rowA"><strong>Tot</strong></td>
    <td width="70" class="rowA"><strong>Totaal</strong></td>
    <td width="70" class="rowA"><strong>Code</strong></td>
    <td width="220" class="rowA"><strong>Klant</strong></td>
  </tr>
'. 
$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql); .'

  '.  if (!$result) {
       echo "Kon de query ($sql) niet uitvoeren: " . mysql_error();
       exit;
   }

   while ($row = mysql_fetch_assoc($result)) { .'
  <tr> 
    <td class="rowB">'. $row['van'] .'</td>
    <td class="rowB">'. $row['tot'] .'</td>
    <td class="rowB">'. $row['totaal'] .'</td>
    <td class="rowB">'. $row['code1'] .' '. $row['code2'] .'</td>
    <td class="rowB">'. $row['klant'].'</td>
  </tr>
  <? } ?>
</table>
<br>
<table width="547" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td height="126"> 
      <p>Het volledige dagstaatrapport is te zien door op deze 
        link te klikken. <br>
        <br>
        <br>
        Met vriendelijke groet,<br>
        <br>
        <br>
        Lees</p></td>
  </tr>
</table>
<p> </p>
<p> </p>
<p> </p>
</body>
</html>

';

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


/* and now mail it */
mail($to, $subject, $message, $headers); 


Ik probeer met deze code een mailtje te sturen met de inhoud van
1
2
3
4
5
'. 
$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql); 

   while ($row = mysql_fetch_assoc($result)) { .'


Alleen werkt dit dus niet, wie weet hoe ik dit moet doen (ik denk dat het aan de quotes ligt, daar doe ik iets niet goed).
pi_27484164
quote:
1
2
3
4
5
6
 </tr>
'. 
$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql); .'

  '.  if (!$result) {
Als je allerlei commando's gaat uitvoeren kun je voor zover ik weet niet 'in' de string blijven. Die moet je dus eerst afsluiten.

1
2
3
4
5
6
 </tr>
';
$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql);'

if (!$result) {


Al die .' en '. -dingen zijn bijna fout. Zoiets als dit slaat ook nergens op:
1
2
3
$result = mysql_query($sql); .'

  '.  
pi_27489407
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
<?php
$message
= '
<html>
<head>
<title>Hoi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="http://www.networksystemintegration.nl/employees/style.css"/>
</head>

<body>
<table width="547" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="547"><div align="right"><img src="file:///L|/NSI%20v3.0/employees/images/nieuwdag.jpg" width="250" height="100"></div></td>
  </tr>
  <tr>
    <td height="90">
<p>Beste,<br>
        <br>
       '
.$user['firstname'].' heeft zijn dagstaat afgerond. Hieronder volgt een korte
        samenvatting van zijn/haar werkzaamheden. </p></td>
  </tr>
</table>
<br>
<table width="500" border="0" cellspacing="1" cellpadding="2" class="tablehead">
  <tr>
    <td width="70" class="rowA"><strong>Van </strong></td>
    <td width="70" class="rowA"><strong>Tot</strong></td>
    <td width="70" class="rowA"><strong>Totaal</strong></td>
    <td width="70" class="rowA"><strong>Code</strong></td>
    <td width="220" class="rowA"><strong>Klant</strong></td>
  </tr>'
;

$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql);

if (!
$result) {
       echo
"Kon de query ($sql) niet uitvoeren: " . mysql_error();
       exit;
}

while (
$row = mysql_fetch_assoc($result)) {
$message .=' <tr>
    <td class="rowB">'
. $row['van'] .'</td>
    <td class="rowB">'
. $row['tot'] .'</td>
    <td class="rowB">'
. $row['totaal'] .'</td>
    <td class="rowB">'
. $row['code1'] .' '. $row['code2'] .'</td>
    <td class="rowB">'
. $row['klant'].'</td>
  </tr>'
;
}

$message .='</table>
<br>
<table width="547" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="126">
      <p>Het volledige dagstaatrapport is te zien door op deze
        link te klikken. <br>
        <br>
        <br>
        Met vriendelijke groet,<br>
        <br>
        <br>
        Lees</p></td>
  </tr>
</table>
<p> </p>
<p> </p>
<p> </p>
</body>
</html>'
;

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


/* and now mail it */
mail($to, $subject, $message, $headers);
?>


Even snel aangepast. Je kunt er niet zomaar vanuit gaan dat als jij .' doet, PHP weet welke string je verder mee aan het gaan bent Gebruik voor het toevoegen aan een string (als je iets uit een commando haalt bijvoorbeeld) liever $string .= "iets";

Good form is om eerst de informatie te verzamelen (query's en whatnot) en daarna het geheel in een string te ploppen, eventueel met een heredoc.

Disclaimer: de bovenstaande code zal nog wel een foutje inzitten...
  maandag 30 mei 2005 @ 20:24:59 #260
11753 Roonaan
Strictly
pi_27491813
Beter not is denk ik het gebruik van output buffering. Op deze manier zou je zelfs de volledige html in een include kunnen zetten.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
php
if(!function_exists('ob_get_clean'))
{
  function
ob_get_clean()
  {
    
$c = ob_get_contents();
    
ob_end_clean();
    return
$c;
  }
}

ob_start();
include
'message.php';
$message = ob_get_clean();
/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
?>


Message.php
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
<html>
  <head>
    <title>Hoi</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="http://www.networksystemintegration.nl/employees/style.css"/>
  </head>
  <body>
    <table width="547" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="547">
          <div align="right">
            <img src="file:///L|/NSI%20v3.0/employees/images/nieuwdag.jpg" width="250" height="100">
          </div>
        </td>
      </tr>
      <tr>
        <td height="90">
          <p>Beste,</p>
          
          <p><?=$user['firstname'];?> heeft zijn dagstaat afgerond.
          Hieronder volgt een korte
          samenvatting van zijn/haar werkzaamheden. </p>
        </td>
      </tr>
    </table>
    <br />
    <table width="500" border="0" cellspacing="1" cellpadding="2" class="tablehead">
      <thead>
        <tr>
          <td width="70" class="rowA"><strong>Van </strong></td>
          <td width="70" class="rowA"><strong>Tot</strong></td>
          <td width="70" class="rowA"><strong>Totaal</strong></td>
          <td width="70" class="rowA"><strong>Code</strong></td>
          <td width="220" class="rowA"><strong>Klant</strong></td>
        </tr>
      </thead>
      <tbody>
        <?php
          $sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
          $result = mysql_query($sql);
          if (!$result) {
             echo "Kon de query ($sql) niet uitvoeren: " . mysql_error();
             exit;
          }
          while ($row = mysql_fetch_assoc($result)) {
          ?>
          <tr>
            <td class="rowB"><?=htmlspecialchars($row['van']);?></td>
            <td class="rowB"><?=htmlspecialchars($row['tot']);?></td>
            <td class="rowB"><?=htmlspecialchars($row['totaal']);?></td>
            <td class="rowB"><?=htmlspecialchars($row['code1'].' '. $row['code2']);?></td>
            <td class="rowB"><?=htmlspecialchars($row['klant']);?></td>
          </tr>
          <?php
          }
        ?>
      </tbody>
    </table>
    <br />
    <table width="547" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="126">
          <p>Het volledige dagstaatrapport is te zien door
          op deze <a href="link">link</a> te klikken.</p>
          <p>Met vriendelijke groet,</p>
          <p>Lees</p>
        </td>
      </tr>
    </table>
    <p> </p>
    <p> </p>
    <p> </p>
  </body>
</html>


Overigens is het gebruik van stylesheets via <link> niet aan te raden bij gebruik in html email.
pi_27494762
Ik moet me duidelijk nog even inlezen op output buffering Is er kort samen te vatten wat de voordelen zijn?

Als terzijde: Als je HTML mail stuurt is het netjes om ook een text-only variant mee te sturen. Een aantal spamfilters zal triggeren op HTML exclusive mail, en niet iedere mail-reader ondersteunt HTML mail.
  dinsdag 31 mei 2005 @ 06:07:09 #262
11753 Roonaan
Strictly
pi_27502045
quote:
Op maandag 30 mei 2005 21:52 schreef TimberWolf het volgende:
Ik moet me duidelijk nog even inlezen op output buffering Is er kort samen te vatten wat de voordelen zijn?

Als terzijde: Als je HTML mail stuurt is het netjes om ook een text-only variant mee te sturen. Een aantal spamfilters zal triggeren op HTML exclusive mail, en niet iedere mail-reader ondersteunt HTML mail.
gewoon de pear:htmlMime class gebruiken.

-r-
pi_27507545
Hoe het volgende, ik heb een tabel met maat1, maat2, maat3 en wil alleen de maten iitlezen als ik de namen heb gevonden.

$list = mysql_fetch_object($query);

$maat = $list->maat$key (dit werkt niet, hoe kan ik dit oplossen?) zodat ik niet alles vast hoef te coden?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_27507672
Voor een forum wat ik ga bouwen ga ik statussen maken: Sticky, Pinned, Open, Closed
maar hoe kan ik met MySQL de volgorde bepalen van die topicsoorten in de querie?
  dinsdag 31 mei 2005 @ 11:41:47 #265
3677 SuperRembo
Sinds 1998
pi_27507852
@Chandler:
Gewoon mysql_fetch_assoc() en dan $list["maat$key"].

Of je tabellen aanpassen, want zoals je 't nu doet hoort natuurlijk niet
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_27509187
Haha SuperRembo, je hebt gelijk maar raar dat dat dan niet wil met object ofzo...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 31 mei 2005 @ 12:44:49 #267
3677 SuperRembo
Sinds 1998
pi_27509813
1echo $obj->{"prop$i"};


of

1
2
$p = "prop$i";
echo $obj->$p;
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_27516416
even een vraag, ik probeer in Midgard CMS een attachment bij een artikel te laten zien en gebruik hiervoor deze code:

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
<?php
php
$debug
=1;
    
    
$topic_arr = explode("/", $url);
    
$topic_max = count($topic_arr);
    
$topic_arr = array_reverse($topic_arr);

$gallery_folder = 'hoofdplaatjes_nieuwe_layout';
$sitegroup = $root_topic-&gt;getsitegroup();

$guid = $sitegroup-&gt;guid();
$gallery=mgd_get_snippetdir_by_path("/GLOBALS/".$guid."/GALLERY/".$gallery_folder);
$my_list = $gallery-&gt;listattachments();

if (
$my_list)
{

    if(
$debug)
    {
          echo
"Number of images: ".$my_list-&gt;N."<BR>";
          echo
"Number of keys in array: ".$topic_max."<BR><BR>";
    }
    
    for(
$i=0;$i&lt;=$topic_max;$i++){

    
$topicname = "strtolower($topic_arr[$i])";
    
    if(
$debug){
        echo
"Topic: ".$topicname."<BR>";
    }
        
    while(
$my_list-&gt;fetch())
        {
        if(
strtolower($my_list-&gt;name) == strtolower($topicname) || substr(strtolower($my_list-&gt;name),0,-4) == strtolower($topicname))
        {
           if(
$debug)
           {
              echo
"Imagename: ".$my_list-&gt;name."<BR>";
              echo
"Imageid: ".$my_list-&gt;id."<BR>";
           }
           else
           {
              
$gallery-&gt;serveattachment($my_list-&gt;name);
              exit();
           }
        }
     }
    }
    
$gallery-&gt;serveattachment('space');
}
?>


Het is een hele lap, maar het gaat om de if onderaan, deze voert hij niet uit, terwijl ik alle mogelijke variabelen al heb uitgeschreven zonder dat ik daarin een fout of verschil zie. Iemand die nog iets weet? ik ben een beetje ten einde raad :S

[ Bericht 57% gewijzigd door #ANONIEM op 31-05-2005 16:05:44 ]
pi_27520742
@Scorpie

Voer deze code eens uit, vlak vóór je if:

Zodat je kunt zien welke variabelen er op dat moment gedeclareerd zijn. Controleer of dat allemaal klopt.

Verder is je code nogal triviaal, hoe kunnen wij nu weten of die conditie voldoet als we niet weten wat listattachments() retourneert of wat $topicname inhoudt?

edit: klopt deze regel?
1
2
3
<?php
$topicname
= "strtolower($topic_arr[$i])";
?>

Het lijkt mij dat die quotes weg moeten. Dan hoef je strtolower($topicname) ook niet meer uit te voeren in die if-conditie. Het is nu dus fout omdat functies in een string niet worden uitgevoerd, en omdat arrays in een string ($topic_arr[$i]) niet goed worden geparsed.
pi_27525015
ff een klein html vraagje tussen door met <div> zonder hoogte wordt het kader even hoog als nodig is, maar kwa breedte doettie dat niet... hoe kan ik dat toch voor elkaar krijgen?
pi_27525223
Met de display property kun je dat soort zaken veranderen:
1<div style="display: inline">blaat</div>
  dinsdag 31 mei 2005 @ 21:14:14 #272
3677 SuperRembo
Sinds 1998
pi_27525237
quote:
Op dinsdag 31 mei 2005 21:06 schreef LeeHarveyOswald het volgende:
ff een klein html vraagje tussen door met <div> zonder hoogte wordt het kader even hoog als nodig is, maar kwa breedte doettie dat niet... hoe kan ik dat toch voor elkaar krijgen?
Dat is meer een vraag voor [CSS] voor dummietjes {deel2} Een oplossing weet is zou gauw niet. Misschien kan je daar wat uitgebreider uitleggen wat je wil bereiken.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_27525372
quote:
Op dinsdag 31 mei 2005 21:14 schreef SuperRembo het volgende:

[..]

Dat is meer een vraag voor [CSS] voor dummietjes {deel2} Een oplossing weet is zou gauw niet. Misschien kan je daar wat uitgebreider uitleggen wat je wil bereiken.
Een mooi kader om een afbeelding dat valt toch niet onder CSS?

[ Bericht 10% gewijzigd door LeeHarveyOswald op 31-05-2005 22:03:58 ]
pi_27526822
Hoe krijg ik eigenlijk de laatste 3 items uit de database? Deze velden hebben een ID veld met autonummering..
pi_27527271
edit: hier ben ik al uit, ik krijg het alleen niet voor elkaar de laatste paar items er uit te pikken..

[ Bericht 93% gewijzigd door LeeHarveyOswald op 31-05-2005 22:47:14 ]
  dinsdag 31 mei 2005 @ 22:46:20 #276
11753 Roonaan
Strictly
pi_27528315
quote:
Op dinsdag 31 mei 2005 22:16 schreef LeeHarveyOswald het volgende:
En hoe kan ik het resultaat van een count laten zien?
[ code verwijderd ]

werkt niet ..
SELECT COUNT(DISTINCT message) as messagecount FROM .....

$row['messagecount'];

-r-
  dinsdag 31 mei 2005 @ 22:46:56 #277
3677 SuperRembo
Sinds 1998
pi_27528335
quote:
Op dinsdag 31 mei 2005 22:46 schreef Roönaän het volgende:

[..]

SELECT COUNT(DISTINCT message) as messagecount FROM .....

$row['messagecount'];

-r-
Er ontbreekt ook nog iets als mysql_fetch_assoc().
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_27528368
1
2
3
4
5
<?php
$result
= mysql_query ("SELECT COUNT(message) FROM message");
$aantal = mysql_result($result,0);
echo
"<p>Aantal Pestforum Profiel berichten:  ".$aantal."</p>";
?>
pi_27529296
hmm met SELECT message, user, placeuser FROM message WHERE ID = (SELECT COUNT(message) FROM message)

kwam ik een heel end, was het niet dat de laatste ID niet gelijk staat aan het aantal berichten (verwijderde berichten, en ID telt door), en het "uitlezen" in php wilde nog niet lukken
pi_27529854
quote:
Op dinsdag 31 mei 2005 22:04 schreef LeeHarveyOswald het volgende:
Hoe krijg ik eigenlijk de laatste 3 items uit de database? Deze velden hebben een ID veld met autonummering..
SELECT velden FROM database ORDER BY autonummerveld DESC LIMIT 3

Bijvoorbeeld?
pi_27531549
quote:
Op dinsdag 31 mei 2005 23:33 schreef TimberWolf het volgende:

[..]

SELECT velden FROM database ORDER BY autonummerveld DESC LIMIT 3

Bijvoorbeeld?
Dat lijkt idd heel erg op de manier zoals ik het nu (met een beetje hulp ) werkend heb gekregen

thnx
pi_27533099
quote:
Op dinsdag 31 mei 2005 22:46 schreef SuperRembo het volgende:

[..]

Er ontbreekt ook nog iets als mysql_fetch_assoc().
oplepelen doen ze in de creche.
pi_27536572
quote:
Op woensdag 1 juni 2005 06:20 schreef Roönaän het volgende:

[..]

oplepelen doen ze in de creche.
En goede voorbeelden geven doen we hier.
  woensdag 1 juni 2005 @ 13:16:28 #284
42636 TheSeeker_NL
Damn fine coffee
pi_27541758
Hoi!

Ik wil voor een website een Login maken met daar achter een intern gedeelte.
In het boek wat ik gebruik staat er alleen niks over in, en das natuurlijk klote. Ik heb geprobeerd wat te zoeken op het internet maar daar kom ik niet verder mee. Aangezien ik denk dat het vrij makkelijk is vraag ik het hier even!

wat heb ik tot nu toe?

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
<body>
<h1>Inloggen</h1>
<?php
if(isset($verzenden)==0){
?>
<form name="login" action="login.php" method="get">
  <br>
  <table width="53%" border="0" cellspacing="0">
    <tr>
      <td width="42%"><p>Voer uw gebruikersnaam in:</p> </td>
      <td width="58%"><input type=text name=gebruikersnaam></td>
    </tr>
    <tr>
      <td><p>Voer uw password in:</p> </td>
      <td><input type=password name=password></td>
    </tr>
  </table>
  <input type=submit value=Login name=verzenden>
 
  
</form>
<?php
} else {
echo "   <br><b><p>   Hartelijk welkom, $gebruikersnaam.               </p></b></br>
       <br><p>      U wordt nu doorgestuurd naar het interne gedeelte.   </p></br>";
}
?>
 
</body>
</html>


wat moet er nog komen? stukje php dat de inlog gegevens checked met de gegevens in de database, en als het klopt verder gaat naar intern.htm, als het fout is gewoon een melding geeft dat het onjuist is!

please help me even met deze situatie
tnx

Seekertje
  woensdag 1 juni 2005 @ 13:18:34 #285
32768 DionysuZ
Respect my authority!
pi_27541818
ten eerste zou ik het formulier versturen met de POST methode, niet met de GET methode aangezien dan ook je paswoord in het Adres veld komt te staan.

voor de rest heb ik nu ff geen tijd
□ 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
  woensdag 1 juni 2005 @ 13:31:21 #286
42636 TheSeeker_NL
Damn fine coffee
pi_27542245
hehe het is een begin
pi_27543039
login.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if(isset($verzenden))
{
$conn = mysql_conn()
$DB = mysql_select_db()

$SQL = mysql_query("SELECT * from `users` WHERE gebruikersnaam = '".$_POST['gebruikersnaam']."' AND wachtwoord = '".$_POST['password']."'")

$rows = mysql_num_rows($SQL);
if(
$rows == 1)
{
echo(
"<META HTTP-EQUIV=Refresh CONTENT='2; URL=intern.htm'>"
echo("ingelogd, een moment");
}
else
{
echo(
"gebruikersnaam/wachtwoord combinatie bestaat niet");
}
}
else
{
echo(
"hacked");
}
?>


niet af en niet echt netjes maar een ideetje ????
pi_27544560
http://www.phphulp.nl/php/tutorials/8/155/

Die heb ik als basis gebruikt voor www.pestforum.nl/profiel
  donderdag 2 juni 2005 @ 03:08:27 #290
51748 H4ze
wait...what?
pi_27565733
Oke, ik zit nogsteeds diep in de php leerfase. Omdat ik wat wil oefenen met de kennis die ik heb, bedenk ik voor mezelf wat opdrachtjes. Ben nu bezig om een "raad het getal" spelletje te maken ( ) alleen is er iets waar ik niet helemaal uit kom:

Ik heb twee pagina's:
- een html pagina waar de gebruiker een getal kan invoeren
- een php pagina waar de boel wordt verwerkt

In de php pagina wordt een random getal aangemaakt tussen de 0 en 30. Deze wordt vervolgens vergeleken met het door de gebruiker ingevoerde getal. Dan zijn er 3 mogelijkheden.

1
2
3
4
5
6
7
8
9
10
11
if($usergetal<$randomgetal) {
  header("refresh:3;url=".$site."");
  echo "Het door jou ingevoerde getal is te klein..probeer het opnieuw!";
}
if($usergetal>$randomgetal) {
  header("refresh:3;url=".$site."");
  echo "Het door jou ingevoerde getal is te groot..probeer het opnieuw!";
}
if($usergetal==$randomgetal) {
  echo "Gefeliciteerd! Je wint!";
}

Dit werkt opzich allemaal wel gewoon. Die redirections terug naar de html pagina ook . Alleen ontstaat er dan een probleem. Als de gebruiker een volgende poging waagt, dan wordt de gehele php pagina weer opnieuw uitgevoerd en wordt er ook weer een nieuw random getal gegenereerd...en dat is natuurlijk niet de bedoeling.

Nu heb ik al wat zitten spelen met sessies, maar dat gaf natuurlijk gewoon hetzelfde probleem. Ik heb er wel een oplossing voor, maar dan moet ik nog wat pagina's erbij gaan maken. En ik wil het gewoon graag bij deze twee pagina's houden. Is er geen manier om de code die het random getal genereert maar 1 keer uit te laten voeren oid? Ik heb 't idee dat de oplossing aardig simpel is, maar het is natuurlijk ook al laat (zie tijd waarop dit bericht is gepost ).

Dus....wat hints gevraagd! Thnx alvast!
*BURP*
pi_27566166
Waarom doe je dit met een html en een php file? Ik zou het gewoon allemaal in 1 php file afhandelen, dan heb je geen gedoe met redirects.

Het getal dat geraden moet worden kan je inderdaad het beste in een sessie opslaan. Een simpel voorbeeldje hoe je met een sessie werkt:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

session_start();

if (isset($_SESSION['count'])) {
   $_SESSION['count']++;
} else {
   $_SESSION['count'] = 1;
}

echo 'Counter: '. $_SESSION['count'];

?>
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 2 juni 2005 @ 16:11:21 #292
51748 H4ze
wait...what?
pi_27580813
dankje! Het werkt nu.

Checken of een sessie al bestaat met "isset" had ik nog niet aan gedacht. Eerlijk gezegd had ik "isset" nog nooit gebruikt.

Als eerste stuk code heb ik nu gewoon dit:
1
2
3
4
5
6
7
session_start();
if (isset($_SESSION['randomgetal'])) {
  $_SESSION['randomgetal']=$_SESSION['randomgetal'];
}
else {
  $_SESSION['randomgetal']=rand(0,30);
}

Dit werkt dus prima. Nu ga ik nog ff een tellertje erbij maken wat checkt hoevaak je erover gedaan hebt om het getal te raden, en idd fftjes alles op 1 php pagina....
*BURP*
pi_27581029
Hmm er gaat iets niet helemaal goed...

Ik wil een quote optie maken, als iemand dan naar Quote.php?id=[nummer] verwijst, dan moet je een nieuw venster krijgen mét daarin het te quote bericht...

Nu heb ik onderstaande code gebruikt (wel meerdere keren al dingen aan veranderd om wat te proberen, maar lukte niet echt).

Die title heb ik gedaan om te kijken of "get" wel werkt, en dat werkt ook... Maar voor de rest gebeurt er niet veel..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include("connection.php");
$ID = $_GET['ID'];
echo"<head><title>'".$ID."'</title></head>";
$sql = "SELECT * FROM message WHERE ID = '".$_GET['ID']."';";
$query = mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($query);
$QID = $result['ID'];
$QUser = $result['user'];
$QPlaceuser = $result['placeuser'];
$QDatum = $result['postdate'];
$QTijd = $result['posttime'];
$QMessage = $result['message'];

?>
pi_27581388
quote:
Op donderdag 2 juni 2005 16:11 schreef H4ze het volgende:
dankje! Het werkt nu.

Checken of een sessie al bestaat met "isset" had ik nog niet aan gedacht. Eerlijk gezegd had ik "isset" nog nooit gebruikt.

Als eerste stuk code heb ik nu gewoon dit:
[ code verwijderd ]

Dit werkt dus prima. Nu ga ik nog ff een tellertje erbij maken wat checkt hoevaak je erover gedaan hebt om het getal te raden, en idd fftjes alles op 1 php pagina....
1
2
3
4
5
6
7
8
session_start();
if (isset($_SESSION['randomgetal'])) {
  $_SESSION['aantalkeergeraden']++;
}
else {
  $_SESSION['randomgetal']=rand(0,30);
  $_SESSION['aantalkeergeraden'] = 1;
}


Zo, met tellertje in hoeveel keer iemand het heeft geraden
pi_27581477
quote:
Op donderdag 2 juni 2005 16:18 schreef LeeHarveyOswald het volgende:
Hmm er gaat iets niet helemaal goed...

Ik wil een quote optie maken, als iemand dan naar Quote.php?id=[nummer] verwijst, dan moet je een nieuw venster krijgen mét daarin het te quote bericht...

Nu heb ik onderstaande code gebruikt (wel meerdere keren al dingen aan veranderd om wat te proberen, maar lukte niet echt).

Die title heb ik gedaan om te kijken of "get" wel werkt, en dat werkt ook... Maar voor de rest gebeurt er niet veel..
[ code verwijderd ]
Wat doet die puntkomma achterin je query? Die hoeft er niet te staan hoor. En een numeriek ID hoor je eigenlijk niet tussen quotes te zetten, dus dan wordt t :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include("connection.php");
$ID = $_GET['ID'];
echo"<head><title>'".$ID."'</title></head>";
$sql = "SELECT * FROM message WHERE ID = ".$_GET['ID'];
$query = mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($query);
$QID = $result['ID'];
$QUser = $result['user'];
$QPlaceuser = $result['placeuser'];
$QDatum = $result['postdate'];
$QTijd = $result['posttime'];
$QMessage = $result['message'];

?>
pi_27581573
Krijg nog steeds niks in mn variabele...
pi_27581622
voeg s een echo $sql toe om te kijken of je query eruit ziet zoals je wil. Bestaat het ID wel waar je op zoekt? Krijg je een error of helemaal niks te zien?
pi_27581741
quote:
Op donderdag 2 juni 2005 16:38 schreef ikke_ook het volgende:
voeg s een echo $sql toe om te kijken of je query eruit ziet zoals je wil. Bestaat het ID wel waar je op zoekt? Krijg je een error of helemaal niks te zien?
Jup het id nummer bestaat..

Ik had die title een stuk omlaag geplaatst, en dan ID verandert in Quser.. maar titel balk bleef op de overtollige ' 'na leeg..
pi_27581806
echo sql geeft: SELECT * FROM message WHERE ID = 66

en als ik dat in mn PHP My Admin intik krijg ik netjes één veld...
pi_27581872
echo result geeft alleen het woord Array terug, dus geen gegevens...
pi_27581906
Voorbeeld: http://www.pestforum.nl/profiel/quote.php?ID=66

http://forum.fok.nl/topic/709374

[ Bericht 29% gewijzigd door LeeHarveyOswald op 02-06-2005 16:53:40 ]
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')