login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Prive-Berichten werkt niet...

Offline BasDV - 18/06/2005 08:19
Avatar van BasDVMySQL interesse Hallo iedereen!

Ik heb op m'n site de prive-berichten pagina een beetje aangepast maar nu stuurt hij geen berichten meer.

Hij geeft wel aan als er velden niet zijn ingevuld maar als alles gewoon goed moet zijn doet hij niks.

Ga eerst naar deze pagina: http://members..../login.php
Log dan in met gebr.naam test en wachtwoord test
Ga dan naar http://members....ichten.php

Maak dan een nieuw bericht en stuur hem op naar test (jezelf)
Dan zul je waarschijnlijk zien dat er niks staat en anders dat je (als je dat niet hebt gedaan) sommige velden niet hebt ingevuld.

Ik snap niet wat hier mis gaat en ik hoop jullie wel.

Mvg, BasDV

12 antwoorden

Gesponsorde links
Offline Tuinstoel - 18/06/2005 08:23
Avatar van Tuinstoel PHP expert Misschien is het handig als een fragment van de tekst post?
Offline BasDV - 18/06/2005 08:28 (laatste wijziging 18/06/2005 08:30)
Avatar van BasDV MySQL interesse Wel een beetjegroot maarja:
  1. <form method="POST" action="?send=1" name=formulier>
  2. <input type="button" style="font-weight: bold; width: 30px" value="B" onclick="javascript:icon('[b][/b] ')">
  3. <input type="button" style="font-style: italic; width: 30px" value="I " onclick="javascript:icon('[i][/i] ')">
  4. <input type="button" style="text-decoraton: underline; width: 30px" value="U" onclick="javascript:icon('[u][/u] ')">
  5. <input type="button" style="color: #0000FF" value="Color" onclick="javascript:icon('[color=&quot#FF9900&quot][/color] ')">
  6. <input type="button" style="font-family: Courier New" value="Code" onclick="javascript:icon('[code]
')"><br>
<textarea rows="7" name="bericht" cols="40"></textarea><br>

<? //smilies ?>
<a href="javascript:icon(';-)')"><img border="0" src="img/smiles/wink.gif"></a><a href="javascript:icon(':-|')"><img border="0" src="img/smiles/unsure.gif"></a><a href="javascript:icon(':-P')"><img border="0" src="img/smiles/tongue.gif"></a><a href="javascript:icon(':-)')"><img border="0" src="img/smiles/smile.gif"></a><a href="javascript:icon(':(')"><img border="0" src="img/smiles/sad.gif"></a><a href="javascript:icon('%-)')"><img border="0" src="img/smiles/rolleyes.gif"></a><a href="javascript:icon('|8|')"><img border="0" src="img/smiles/ph34r.gif"></a><a href="javascript:icon(':-O')"><img border="0" src="img/smiles/ohmy.gif"></a><a href="javascript:icon(':-@')"><img border="0" src="img/smiles/mad.gif"></a><a href="javascript:icon(':-]')"><img border="0" src="img/smiles/laugh.gif"></a><a href="javascript:icon(':-?')"><img border="0" src="img/smiles/huh.gif"></a><a href="javascript:icon(':-\\')"><img border="0" src="img/smiles/dry.gif"></a><a href="javascript:icon('8)')"><img border="0" src="img/smiles/cool.gif"></a><a href="javascript:icon('8-/')"><img border="0" src="img/smiles/blink.gif"></a><a href="javascript:icon(':-D')"><img border="0" src="img/smiles/biggrin.gif"></a></div><br>
<input type="submit" value="Verstuur" onMouseover="ddrivetip('Als alles naar wens is kunt u hier uw bericht versturen.', 300)";
onMouseout="hideddrivetip()"> <input type="reset" value="Wis velden" onMouseover="ddrivetip('Wis alle velden hierboven.', 300)";
onMouseout="hideddrivetip()">
</font></font></td>
<td width="124" height="260" bgcolor="#E7E7EF" valign="top"><font face="Verdana" size="1">
<?
$query = mysql_query("SELECT * FROM members");
$result = mysql_num_rows($query);
$tmembers = mysql_num_rows(mysql_query("SELECT memberid FROM members"));

if(!$result){
echo "We hebben nog geen members...";
}
else{
echo "<font face=\"Verdana\" size=\"1\">Ontvanger:<br><select size=\"1\" name=\"naar\" \value=\"<? echo $naar ?>\" onMouseover=\"ddrivetip('Kies uit deze lijst de ontvanger van uw bericht.', 300)\";
onMouseout=\"hideddrivetip()\">";
while($object = mysql_fetch_object($query)){
echo "<option value=\"$object->memberid\" value2=\"<? echo $naar ?>\">$object->naam</option>";
}
}
echo '</select>';
?>

<br>
Onderwerp: <input type="text" name="onderwerp" size="20" maxlength="100" value="<? echo $titel ?>" onMouseover="ddrivetip('Het onderwerp van uw bericht.', 300)";
onMouseout="hideddrivetip()"><br>
<input name="belangrijk" type="checkbox" value="0" onMouseover="ddrivetip('Als u deze aanvinkt dan word dit bericht bij de ontvanger als belangrijk weergegeven.', 300)";
onMouseout="hideddrivetip()"> <font face="Verdana" size="1">Belangrijk
<br><div onMouseover="ddrivetip('Voeg smiley's toe aan uw bericht.', 300)";
onMouseout="hideddrivetip()">
</font></form></td>
</tr>
<tr>
<td width="435" height="9" colspan="2" bgcolor="#434365">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
Nieuw Bericht
</font></b></p>
</td>
</tr>
</table>
</div>
<?
}
if($send){

if(!$naar || !$onderwerp || !$bericht){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Alle velden dienen ingevuld te zijn...<br><br><a href=\"javascript:history.go(-1)\">Ga terug</a></font></b></td></tr></table></div>";
}
else{
$query = mysql_query("SELECT * FROM members WHERE memberid = '$memberid'");
$result = mysql_num_rows($query);

while($object = mysql_fetch_object($query)){
$ikblock = $object->blockpm;
$error = $object->pm;
$geblokkeerd = $object->blockpm;
}

if(strstr($ikblock,$naar)){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">De member waar je dit bericht naartoe wilt sturen heb je zelf geblokkeerd ...</font></b></td></tr></table></div>";
}
else{

if(strstr($geblokkeerd,$memberid)){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Deze member heeft je geblokkeerd qua sturen van privé- berichten...</font></b></td></tr></table></div>";
}
else{

if(!$error){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Deze member heeft niet ingesteld dat hij/zij privé- berichten wil ontvangen, daarom is je bericht niet verzonden</font></b></td></tr></table></div>";
}
else{
if(!$result){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">De ID die je hebt ingevuld waar dit privé- bericht naar toe moet bestaat niet, probeer het nog eens...</font></b></td></tr></table></div>";
}
if($result){
$query = mysql_query("SELECT * FROM priveberichten WHERE naar = '$naar'");
$result = mysql_num_rows($query);

if($result > $maxpm-1){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Deze member heeft het limiet van $maxpm privé- berichten overschreden, daarom kan dit privé- bericht niet verzonden
worden. Onze excuses voor dit ongemak.</font></b></td></tr></table></div>";
}
if ($_POST['belangrijk'] == 1){
$belangrijk = "1";
}
if ($_POST['belangrijk'] == 0){
$belangrijk = "0";
}
else{

$query = mysql_query("SELECT * FROM members WHERE memberid = '$naar'");

while($object = mysql_fetch_object($query)){
$naar = $object->memberid;
$naarnaam = $object->naam;
$privmsg = $object->pm;
}

$query = mysql_query("SELECT * FROM members WHERE memberid = '$memberid'");

while($object = mysql_fetch_object($query)){
$van = $object->memberid;
}

$datum = date("d-m-Y \o\m\ H:i:s");

if($privmsg){
$query = mysql_query("INSERT INTO priveberichten (onderwerp,van,naar,datum,bericht,ip,gelezen,belangrijk) VALUES ('$onderwerp','$van','$naar','$datum','$bericht','$REMOTE_ADDR','0','$belangrijk')") or die (mysql_error());
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Je bericht is succesvol verzonden naar <b>$naarnaam</b></font></b></td></tr></table></div>";
}[/code]
Als alles dus goed is moet het laatste "Uw bericht is verzonden naar ..." verschijnen als alle velden zijn ingevuld. Maar hij laat niks zien terwijl hij wel laat zien als er velden niet zijn ingevuld:s
Offline Tuinstoel - 18/06/2005 08:31
Avatar van Tuinstoel PHP expert if(!$naar || !$onderwerp || !$bericht){

Je moet superglobals gebruiken, want dit slaat echt alles. Zoek eens de tutorial op over superglobals, in de tutorial sectie.
Offline BasDV - 18/06/2005 08:40
Avatar van BasDV MySQL interesse Ik ben niet zo'n held met superglobals...
Waarmee zou ik die regel dan moeten vervangen?
Offline Tuinstoel - 18/06/2005 08:43 (laatste wijziging 18/06/2005 08:44)
Avatar van Tuinstoel PHP expert $send moet je dan ook veranderen

Neem dan gewoon eens de moeite om die tutorial goed te lezen en door te nemen, want je gooit er nu met de pet naar toe.

Aangezien je met een POST formulier werkt, moet je $_POST gebruiken i.p.v. gewone variabelen. Dus $_POST['onderwerp'] bijvoorbeeld. En verder moet je niet alles in 1 if doen. Je moet eerst controleren of er iets gepost wordt, dan controleer je per onderdeel of deze leeg of niet is.

  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. if($_POST['naam'] == '')
  5. { echo 'Je hebt geen naam ingevuld.'; }
  6. elseif($_POST['onderwerp'] == '')
  7. { echo 'Je hebt geen onderwerp ingevuld.'; }
  8. elseif($_POST['bericht'] == '')
  9. { echo 'Je hebt geen bericht ingevuld.'; }
  10. else
  11. {
  12. // post script
  13. }
  14. }
  15. ?>

Offline Legolas - 18/06/2005 08:48
Avatar van Legolas Onbekend Je moet ook net zo goed de moeite doen om variabelen BUITEN quotes te zetten..

en ipv die date(codegerotzooi) kun je veel beter NOW() gebruiken in MySQL:)
Offline prorsoft - 18/06/2005 08:55
Avatar van prorsoft PHP gevorderde
Citaat:
[..code..]

huh?
ik doe het gewoon zo:
  1. "INSERT INTO inbox (userID,onderwerp,van,datum,bericht,ip,gelezen,belangrijk) VALUES ('$naar','$onderwerp','$van','$datum','$bericht','".$_SERVER['REMOTE_ADDR']."',0,'$belangrijk')"
Offline nemesiskoen - 18/06/2005 10:08
Avatar van nemesiskoen Gouden medaille

PHP expert
prorsoft: wat doet het ertoe hoe jij het doet? Je hebt gewoon een andere tabelnaam en voor 'naar' heb jij 'userID'.
Offline BasDV - 18/06/2005 10:18
Avatar van BasDV MySQL interesse oke... ik heb nu dit:
  1. <div align="left">
  2. <table border="0" width="451" height="350" cellspacing="0" cellpadding="0" style="border: 1 solid #000000">
  3. <tr>
  4. <td width="451" height="45" colspan="2" bgcolor="#575782"><img border="0" src="images/logopriveberichten.gif" width="250" height="54"></td>
  5. </tr>
  6. <tr>
  7. <td width="451" height="10" colspan="2" bgcolor="#C4C4D7"><b><font face="Verdana" size="1">
  8. Stel hier een nieuw bericht op dat je vervolgens naar een member wilt gaan zenden...
  9. </font></b></td>
  10. </tr>
  11. <tr>
  12. <td width="311" height="260" valign="top" style="background-image: url('images/bgpb.jpg'); background-repeat: no-repeat; background-attachment: fixed; background-position: right top" bgcolor="white"><font face="Verdana" size="1" color="#000000">
  13. <form method="POST" action="?send=1" name=formulier>
  14. <input type="button" style="font-weight: bold; width: 30px" value="B" onclick="javascript:icon('[b][/b] ')">
  15. <input type="button" style="font-style: italic; width: 30px" value="I " onclick="javascript:icon('[i][/i] ')">
  16. <input type="button" style="text-decoraton: underline; width: 30px" value="U" onclick="javascript:icon('[u][/u] ')">
  17. <input type="button" style="color: #0000FF" value="Color" onclick="javascript:icon('[color=&quot#FF9900&quot][/color] ')">
  18. <input type="button" style="font-family: Courier New" value="Code" onclick="javascript:icon('[code]
')"><br>
<textarea rows="7" name="bericht" cols="40"></textarea><br>

<? //smilies ?>
<a href="javascript:icon(';-)')"><img border="0" src="img/smiles/wink.gif"></a><a href="javascript:icon(':-|')"><img border="0" src="img/smiles/unsure.gif"></a><a href="javascript:icon(':-P')"><img border="0" src="img/smiles/tongue.gif"></a><a href="javascript:icon(':-)')"><img border="0" src="img/smiles/smile.gif"></a><a href="javascript:icon(':(')"><img border="0" src="img/smiles/sad.gif"></a><a href="javascript:icon('%-)')"><img border="0" src="img/smiles/rolleyes.gif"></a><a href="javascript:icon('|8|')"><img border="0" src="img/smiles/ph34r.gif"></a><a href="javascript:icon(':-O')"><img border="0" src="img/smiles/ohmy.gif"></a><a href="javascript:icon(':-@')"><img border="0" src="img/smiles/mad.gif"></a><a href="javascript:icon(':-]')"><img border="0" src="img/smiles/laugh.gif"></a><a href="javascript:icon(':-?')"><img border="0" src="img/smiles/huh.gif"></a><a href="javascript:icon(':-\\')"><img border="0" src="img/smiles/dry.gif"></a><a href="javascript:icon('8)')"><img border="0" src="img/smiles/cool.gif"></a><a href="javascript:icon('8-/')"><img border="0" src="img/smiles/blink.gif"></a><a href="javascript:icon(':-D')"><img border="0" src="img/smiles/biggrin.gif"></a></div><br>
<input type="submit" value="Verstuur" onMouseover="ddrivetip('Als alles naar wens is kunt u hier uw bericht versturen.', 300)";
onMouseout="hideddrivetip()"> <input type="reset" value="Wis velden" onMouseover="ddrivetip('Wis alle velden hierboven.', 300)";
onMouseout="hideddrivetip()">
</font></font></td>
<td width="124" height="260" bgcolor="#E7E7EF" valign="top"><font face="Verdana" size="1">
<?
$query = mysql_query("SELECT * FROM members");
$result = mysql_num_rows($query);
$tmembers = mysql_num_rows(mysql_query("SELECT memberid FROM members"));

if(!$result){
echo "We hebben nog geen members...";
}
else{
echo "<font face=\"Verdana\" size=\"1\">Ontvanger:<br><select size=\"1\" name=\"naar\" \value=\"$naar\" onMouseover=\"ddrivetip('Kies uit deze lijst de ontvanger van uw bericht.', 300)\";
onMouseout=\"hideddrivetip()\">";
while($object = mysql_fetch_object($query)){
echo "<option value=\"$object->memberid\" value2=\"$naar\">$object->naam</option>";
}
}
echo '</select>';
?>

<br>
Onderwerp: <input type="text" name="onderwerp" size="20" maxlength="100" value="<? echo $titel ?>" onMouseover="ddrivetip('Het onderwerp van uw bericht.', 300)";
onMouseout="hideddrivetip()"><br>
<input name="belangrijk" type="checkbox" value="0" onMouseover="ddrivetip('Als u deze aanvinkt dan word dit bericht bij de ontvanger als belangrijk weergegeven.', 300)";
onMouseout="hideddrivetip()"> <font face="Verdana" size="1">Belangrijk
<br><div onMouseover="ddrivetip('Voeg smiley's toe aan uw bericht.', 300)";
onMouseout="hideddrivetip()">
</font></form></td>
</tr>
<tr>
<td width="435" height="9" colspan="2" bgcolor="#434365">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
Nieuw Bericht
</font></b></p>
</td>
</tr>
</table>
</div>
<?
}
if($send){
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if($_POST['onderwerp'] == '')
{ echo 'Je hebt geen onderwerp ingevuld.<br><a href=\"javascript:history.go(-1)\">Ga terug</a>'; }
elseif($_POST['bericht'] == '')
{ echo 'Je hebt geen bericht ingevuld.<br><a href=\"javascript:history.go(-1)\">Ga terug</a>'; }
}
else{
$query = mysql_query("SELECT * FROM members WHERE memberid = '$memberid'");
$result = mysql_num_rows($query);

while($object = mysql_fetch_object($query)){
$ikblock = $object->blockpm;
$error = $object->pm;
$geblokkeerd = $object->blockpm;
}

if(strstr($ikblock,$naar)){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">De member waar je dit bericht naartoe wilt sturen heb je zelf geblokkeerd ...</font></b></td></tr></table></div>";
}
else{

if(strstr($geblokkeerd,$memberid)){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Deze member heeft je geblokkeerd qua sturen van privé- berichten...</font></b></td></tr></table></div>";
}
else{

if(!$error){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Deze member heeft niet ingesteld dat hij/zij privé- berichten wil ontvangen, daarom is je bericht niet verzonden</font></b></td></tr></table></div>";
}
else{
if(!$result){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">De ID die je hebt ingevuld waar dit privé- bericht naar toe moet bestaat niet, probeer het nog eens...</font></b></td></tr></table></div>";
}
if($result){
$query = mysql_query("SELECT * FROM priveberichten WHERE naar = '$naar'");
$result = mysql_num_rows($query);

if($result > $maxpm-1){
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Deze member heeft het limiet van $maxpm privé- berichten overschreden, daarom kan dit privé- bericht niet verzonden
worden. Onze excuses voor dit ongemak.</font></b></td></tr></table></div>";
}
if ($_POST['belangrijk'] == 1){
$belangrijk = "1";
}
if ($_POST['belangrijk'] == 0){
$belangrijk = "0";
}
else{

$query = mysql_query("SELECT * FROM members WHERE memberid = '$naar'");

while($object = mysql_fetch_object($query)){
$naar = $object->memberid;
$naarnaam = $object->naam;
$privmsg = $object->pm;
}

$query = mysql_query("SELECT * FROM members WHERE memberid = '$memberid'");

while($object = mysql_fetch_object($query)){
$van = $object->memberid;
}

$datum = date("d-m-Y \o\m\ H:i:s");

if($privmsg){
$query = mysql_query("INSERT INTO priveberichten (onderwerp,van,naar,datum,bericht,ip,gelezen,belangrijk) VALUES ('$onderwerp','$van','$naar','$datum','$bericht','$REMOTE_ADDR','0','$belangrijk')") or die (mysql_error());
echo "<div align=\"left\"><table border=\"0\" width=\"313\" height=\"62\" style=\"border: 1 solid #000000\" bgcolor=\"#E1E1E1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
<td width=\"313\" height=\"62\"><b><font face=\"Arial\" size=\"1\">Je bericht is succesvol verzonden naar <b>$naarnaam</b></font></b></td></tr></table></div>";
}[/code] De velden die niet goed zijn ingevuld geeft hij goed aan maar als dan alles goed moet zijn en hij het bericht moet versturen (dus in de database zetten en echo'en dat hij is verzonden) doet hij het niet.
Hij laat niks zien... wat gaat hier fout?
Offline simontjeuh - 18/06/2005 10:31
Avatar van simontjeuh HTML interesse ik zou je toch aan raden om wat beter in te springen enzo
mss heb je gewoon een fout gemaakt met if en else
Offline Donleon - 19/06/2005 13:52
Avatar van Donleon Nieuw lid Je kan ook gewoon een makkelijkere maken er zijn veel meer manieren en die ik gebruik werkt^^ 
Offline Sjaakmans - 21/06/2005 19:07
Avatar van Sjaakmans Nieuw lid heb je em van internet gehaald?
zo ja DOM.
Je moet ze niet van internet halen als je niet weet hoe ze werken, maak er anders zelf een dan weet je tenminste wat je kan aanpassen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.276s