Jamen dog! Hvor er det JavaScript henne?
Din browser understøtter ikke JavaScript eller har ikke understøttelsen slået til. Slå JavaScript til i din browser for at se denne side ordentligt, eller opgrader til en browser, der understøtter JavaScript.
Besøgende online nu
Gæster online 13
Brugere online 0

Antal brugere: 181
Nyeste bruger: Snif45

Ingen forbindelse til MySQL

Sidst opdateret den 14 år siden
O
olelauErfaren bruger
Skrevet d. 14 år siden
Jeg har konverteret et gammelt "Buddy system" til v7 og det fungerer for så vidt også fint, jeg har ikke problemer med det men jeg får nogle tilbage meldinger fra andre (2 styk lige nu) om at der ikke indsættes nye venner i buddy tabellen.

Fejlen må ligge i den kode der indsættes i profile.php, men jeg kan bare ikke se hvor, og det er jo også lidt svært når den fungerer de fleste steder, og at jeg ikke selv kan fremprovokere fejlen.

Men måske en af jer super koder kan spejde den, her er koden.

Mener det må være i linjen markeret med rødt.

opentable("My buddys");

echo "<table align='center' cellpadding='0' cellspacing='1' width='400' class='tbl-border'><td align='left' class='tbl2'>";

if (!isset($userdata['user_id'])) $userdata['user_id']='';

if ($userdata['user_id'] != $_GET['lookup'] AND $userdata['user_id'] != ''){

echo "<center><a href='profile.php?lookup=".$_GET['lookup']."&buddy=I'><b>Be my buddy!</b></a></center>";

}else{

echo "<center><a title='Rediger din venneliste' href='".INFUSIONS."buddys_system/buddys.php'><b>Edit buddy list</b></a></center>";

}

if (!isset($buddy)) $buddy='';

$datum = time();

if ($userdata['user_id'] != ""){

$result_from=dbquery("SELECT * FROM ".DB_PREFIX."buddys WHERE buddy_from = ".$userdata['user_id']." AND buddy_to = ".$_GET['lookup']."");

$data_from = dbarray($result_from);

}

if (!isset($data_from['buddy_id'])) $data_from['buddy_id']='';

if ($data_from['buddy_id'] == "" AND $buddy == "I"){

[color=#ff0000]$result=dbquery("INSERT INTO ".DB_PREFIX."buddys (buddy_id, buddy_from, buddy_to, buddy_date, buddy_status) VALUES ('','".$userdata['user_id']."', '".$_GET['lookup']."', '$datum', '1')");[/color]

$titel = "Someone wants to be your buddy";
$nachricht = "User on this site <b>".$userdata['user_name']."</b> would like to be added to your buddy list!<br> <a href=\"".BASEDIR."infusions/buddys_system/buddys.php\" target=\"_self\"><b>Add <b>".$userdata['user_name']."</b> to your buddy list?</b></a>";
dbquery ("INSERT INTO ".DB_PREFIX."messages VALUES ('', '".$user_data['user_id']."', '".$userdata['user_id']."', '".$titel."', '".$nachricht."', 'y', '0', '".time()."', '0')");


redirect(FUSION_SELF."?lookup=".$_GET['lookup']);

}

echo "</td></table>";

echo"<table align='center' cellpadding='0' cellspacing='1' border='0' width='400' class='tbl-border'><tr>\n";
$result=dbquery("SELECT * FROM ".DB_USERS." ORDER BY user_name");

$f=0;
while($data_buddy = dbarray($result)) {
$result_from=dbquery("SELECT * FROM ".DB_PREFIX."buddys WHERE
buddy_from = ".$user_data['user_id']." AND buddy_to = ".$data_buddy['user_id']."");
$data_from = dbarray($result_from);

$result_to=dbquery("SELECT * FROM ".DB_PREFIX."buddys WHERE
buddy_to = ".$user_data['user_id']." AND buddy_from = ".$data_buddy['user_id']."");
$data_to = dbarray($result_to);

if($data_to['buddy_id'] != "" AND $data_from['buddy_id'] != ""){
$f++;
if ($data_buddy['user_avatar'] != "") {
$avatar = "<img height='70' border='0' src='".IMAGES."avatars/".$data_buddy['user_avatar']."'>";
} else {
$avatar = "<img height='70' border='0' src='".IMAGES."avatars/noav.gif'>";
}
if ($f==0){echo "</tr> <br />";}
if ($f == 5){
echo " <tr>";
$f=1;
}
echo "<td align='left' width='20%' class='tbl1'><center><a href=\"".BASEDIR."profile.php?lookup=".$data_buddy['user_id']."\">".$avatar."<br>".$data_buddy['user_name']."</center></td>";
}

}

echo"</tr></table>\n";

closetable();
Ole Lauritsen
Y
YxosVeteran
Skrevet d. 14 år siden
Jeg oplevede noget tilsvarende, da jeg installerede multipoll infusion her på siden første gang. Jeg har dog fået det til at virke.

Også i mit tilfælde kunne jeg skrive i tabellerne på nogen sider, men ikke på andre; og denne side var så en af dem der IKKE kunne skrives på.
Fejlen viste sig at ligge i ukorrekt brug af $_POST, altså resultatet af en input form.
Jeg brugte den "gammeldaws" form $variable; hvor jeg skulle have brugt $_POST['variable'].

Nu bruger du ikke $_POST, men $_GET i din rutine. Jeg tror stadig, at jeg ville gennemgå koden kritisk for korrekt brug af denne.

Blot et forslag...
Held og lykke med det :)
Yxos
F
fljFusioneer
Skrevet d. 14 år siden
Det ser ud til at være forårsaget af at GLOBALS nu som standard er off.

Det vil sige - som Yxos ganske rigtigt er inde på - hvor man tidligere kunne bruge en POST'ed variabel således:

echo ($buddy)

skal man nu skrive dette først

$buddy = $_POST['$buddy'];

eller skrive

echo($_POST['buddy'];

Det drejer sig i hvert fald om $buddy og muligvis andre også, men det kan jeg ikke lige se i skyndingen. Hvis du efter at have rettet det ikke får nogen notices/warnings på undefined variables, så gætter jeg på, at det er den enste rettelse, der skal til - omkring dette problem i alle fald.
O
olelauErfaren bruger
Skrevet d. 14 år siden
Nu er jeg ikke så hurtig, så jeg er nok ikke lige klar over hvor i koden jeg skal indsætte din streng flj (den skal vel bare i toppen af koden ikke). Jeg har forsøgt mig flere steder, men der sker stadig ikke noget, men heller ingen fejlmeldinger.
I er sikkert på rette spor da det er et noget gammel script jeg prøver at rette til, og tingene er jo ikke som de var engang.
Ole Lauritsen
F
fljFusioneer
Skrevet d. 14 år siden
Undskyld - det var mig, der havde for travlt.

Prøv med følgende som linie 2:

$buddy = $_GET['buddy'];

Hvis det ikke virker: Er der flere filer med kode, end denne her?
O
olelauErfaren bruger
Skrevet d. 14 år siden
Nu har jeg fået en melding fra nr 2 med problemet han får denne fejl,

Notice: Undefined variable: buddy in /usr/home/web/sth279225/profile.php on line 185
Ole Lauritsen
O
olelauErfaren bruger
Skrevet d. 14 år siden
@johslind
Det var bestemt ikke uvedkommende, det var lige det jeg skulle bruge.

@flj
Din nr 2 kode virkede også, så først dit indlæg efter johslind's

Tak for hjælpen alle 3 det virker nu og samtidigt fik jeg også lært noget. :D
Ole Lauritsen
Redigeret af olelau d. 10-11-2008 15:59, 14 år siden
O
olelauErfaren bruger
Skrevet d. 14 år siden
Ja så var jeg lidt hurtigt ude igen.
Det virker nu med hensyn til at indsætte en ven fra profilen, men efterfølgende kan man så vælge om man vil være ven med vedkommende eller ikke altså buddy_status, det sker i en anden fil, men her er det samme sag der sker intet når man klikker på valget, og der er heller ingen fejlmelding.
Her har jeg også forsøgt mig men kan ikke se hvad der mangler, sikkert noget tilsvarende det der blev tilføjet i profil koden jeg kan bare ikke hitte den.
Her er koden.

<?php

require_once "../../maincore.php";
require_once THEMES."templates/header.php";

if (file_exists(INFUSIONS."buddys_system/locale/".$settings['locale'].".php")) {
   include INFUSIONS."buddys_system/locale/".$settings['locale'].".php";
} else {
   include INFUSIONS."buddys_system/locale/English.php";
}

$buddy = (!isset($_GET['buddy']) ? '' : $_GET['buddy']);


opentable($locale['mf01']);

if (iMEMBER) {

echo "<table align='center' cellpadding='2' cellspacing='4' border='0' width='100%'>
      <tr>
         <td>".$locale['mf02']."</td>
      </tr>
</table>
<br>
<table border='0' cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>
  <tr>
    <td class='tbl2' style='white-space:nowrap'><b>".$locale['mf05']."</b></td>
    <td class='tbl1' style='white-space:nowrap'><a href='".BASEDIR."members.php' class='side'>".$locale['mf03']."</a></td>
    <td class='tbl1' style='white-space:nowrap'><a href='".BASEDIR."user_avatar.php' class='side'>".$locale['mf04']."</a></td>
  </tr>
</table><hr />";
echo "<center><b>".$locale['mf08']."</b></center><hr />";

echo "<table border='0' cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>
      <tr>
         <td class='tbl2' style='white-space:nowrap'>".$locale['mf09']."</td>
                        <td class='tbl2' style='white-space:nowrap'>".$locale['mf10']."</td>
         <td class='tbl2' style='white-space:nowrap'>".$locale['mf11']."</td>
         <td class='tbl2' style='white-space:nowrap'>".$locale['mf12']."</td>
      </tr>";



$result = dbquery("SELECT * FROM ".DB_PREFIX."buddys
WHERE buddy_from = ".$userdata['user_id']." OR buddy_to = ".$userdata['user_id']."");

while($data = dbarray($result)){

$result_to_from = dbquery("SELECT * FROM ".DB_PREFIX."buddys
WHERE buddy_to = ".$userdata['user_id']." AND buddy_from = ".$data['buddy_to']."");
$data_to_from = dbarray($result_to_from);


if ($data['buddy_to'] != $userdata['user_id'] AND $data_to_from['buddy_to'] == true) {

$result_user = dbquery("SELECT * FROM ".DB_PREFIX."users WHERE user_id = ".$data['buddy_to']."");
$data_user = dbarray($result_user);



$check = "1";




echo "   <tr>";

if ($data_user['user_avatar'] && file_exists(IMAGES."avatars/".$data_user['user_avatar'])) {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/".$data_user['user_avatar']."' alt='' />";

   } else {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/noav.gif' alt='' />";

      }


         echo "<td width='1%' class='tbl1'>".$avatar."</td>
                        <td width='20%' class='tbl1'><b><a href='".BASEDIR."profile.php?lookup=".$data_user['user_id']."'>".$data_user['user_name']."</a></b></td>
         <td width='27%' class='tbl1'>".$locale['mf24']."</td>
         <td class='tbl1' width='43%'><a href='buddys.php?buddy=b&buddy_from=".$userdata['user_id']."&buddy_to=".$data['buddy_to']."'>".$locale['mf25']."</a></td>
      </tr>";

if ($buddy == 'b') {
mysql_query("DELETE FROM ".DB_PREFIX."buddys
WHERE buddy_from = $buddy_from AND buddy_to = $buddy_to");
mysql_query("UPDATE ".DB_PREFIX."buddys SET buddy_status=2
WHERE buddy_from = $buddy_to AND buddy_to = $buddy_from");

redirect("buddys.php");
}

}}

$result = dbquery("SELECT * FROM ".DB_PREFIX."buddys
WHERE buddy_to = ".$userdata['user_id']."");

while($data = dbarray($result)){

$result_from = dbquery("SELECT * FROM ".DB_PREFIX."buddys
WHERE buddy_id = ".$data['buddy_id']."");

while($data_from = dbarray($result_from)){

$result_from_check = dbquery("SELECT * FROM ".DB_PREFIX."buddys
WHERE buddy_to = ".$data_from['buddy_from']." AND buddy_from = ".$data_from['buddy_to']."");
$data_from_check = dbarray($result_from_check);

if ($data_from_check != true) {

$result_user = dbquery("SELECT * FROM ".DB_PREFIX."users WHERE user_id = ".$data_from['buddy_from']."");
$data_user = dbarray($result_user);

if ($data_from['buddy_status'] == '1') {

$check = "1";

echo "   <tr>";

if ($data_user['user_avatar'] && file_exists(IMAGES."avatars/".$data_user['user_avatar'])) {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/".$data_user['user_avatar']."' alt='' />";

   } else {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/noav.gif' alt='' />";

      }


         echo "
                        <td width='1%' class='tbl1'>".$avatar."</td>
         <td width='20%' class='tbl1'><b><a href='".BASEDIR."profile.php?lookup=".$data_user['user_id']."'>".$data_user['user_name']."</a></b></td>
         <td width='27%' class='tbl1'>".$locale['mf20']."</td><td class='tbl1' width='43%'><a href='buddys.php?buddy=a&buddy_from=".$userdata['user_id']."&buddy_to=".$data_from['buddy_from']."'>".$locale['mf31']."</a> | <a href='buddys.php?buddy=u&buddy_from=".$userdata['user_id']."&buddy_to=".$data_from['buddy_from']."'>".$locale['mf32']."</a></td>
      </tr>";
}elseif($data_from['buddy_status'] == '2') {

if ($buddy == 'g') {
mysql_query("DELETE FROM ".DB_PREFIX."buddys
WHERE buddy_from = $buddy_to AND buddy_to = $buddy_from");
redirect("buddys.php");
}

}else{

}

if ($buddy == 'a') {
$datum = time();
dbquery("INSERT INTO ".DB_PREFIX."buddys (buddy_id, buddy_from, buddy_to, buddy_date, buddy_status) VALUES ('','$buddy_from', '$buddy_to', '$datum', '1')");
redirect("buddys.php");
}

if ($buddy == 'u') {
mysql_query("UPDATE ".DB_PREFIX."buddys SET buddy_status=0 WHERE buddy_from = $buddy_to AND buddy_to = $buddy_from");
redirect("buddys.php");
}


}}}

$result = dbquery("SELECT * FROM ".DB_PREFIX."buddys
WHERE buddy_from = ".$userdata['user_id']."");

while($data = dbarray($result)){

$result_to = dbquery("SELECT * FROM ".DB_PREFIX."buddys
WHERE buddy_id = ".$data['buddy_id']."");

while($data_to = dbarray($result_to)){

$result_to_check = dbquery("SELECT * FROM ".DB_PREFIX."buddys
WHERE buddy_to = ".$data_to['buddy_from']." AND buddy_from = ".$data_to['buddy_to']."");
$data_to_check = dbarray($result_to_check);

if ($data_to_check != true) {

$result_user = dbquery("SELECT * FROM ".DB_PREFIX."users WHERE user_id = ".$data_to['buddy_to']."");
$data_user = dbarray($result_user);

if ($data_to['buddy_status'] == '1') {

$check = "1";

echo "   <tr>";

if ($data_user['user_avatar'] && file_exists(IMAGES."avatars/".$data_user['user_avatar'])) {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/".$data_user['user_avatar']."' alt='' />";

   } else {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/noav.gif' alt='' />";

      }


         echo "
                        <td width='1%' class='tbl1'>".$avatar."</td>
         <td width='20%' class='tbl1'><b><a href='".BASEDIR."profile.php?lookup=".$data_user['user_id']."'>".$data_user['user_name']."</a></b></td>
         <td width='27%' class='tbl1'>".$locale['mf21']."</td><td width='43%' class='tbl1'><a href='buddys.php?buddy=z&buddy_from=".$userdata['user_id']."&buddy_to=".$data_to['buddy_to']."'>".$locale['mf30']."</a></td></tr>";

if ($buddy == 'z') {
mysql_query("DELETE FROM ".DB_PREFIX."buddys
WHERE buddy_from = $buddy_from AND buddy_to = $buddy_to");
redirect("buddys.php");
}

}elseif($data_to['buddy_status'] == '2') {

$check = "1";

echo "<tr>";

if ($data_user['user_avatar'] && file_exists(IMAGES."avatars/".$data_user['user_avatar'])) {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/".$data_user['user_avatar']."' alt='' />";

   } else {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/noav.gif' alt='' />";

      }

echo "<td width='1%' class='tbl1'>".$avatar."</td>
     <td width='20%' class='tbl1'><b><a href='".BASEDIR."profile.php?lookup=".$data_user['user_id']."'>".$data_user['user_name']."</a></b></td>
      <td width='27%' class='tbl1'>".$locale['mf23']."</td>
<td class='tbl1' width='43%'><a href='buddys.php?buddy=l&buddy_from=".$userdata['user_id']."&buddy_to=".$data_to['buddy_to']."'>".$locale['mf33']."</a></td></tr>";

if ($buddy == 'l') {
mysql_query("DELETE FROM ".DB_PREFIX."buddys
WHERE buddy_from = $buddy_from AND buddy_to = $buddy_to");
redirect("buddys.php");
}

}else{

$check = "1";

echo "   <tr>";

if ($data_user['user_avatar'] && file_exists(IMAGES."avatars/".$data_user['user_avatar'])) {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/".$data_user['user_avatar']."' alt='' />";

   } else {

      $avatar = "<img style='margin:2px' height='50' width='50' border='0' src='".IMAGES."avatars/noav.gif' alt='' />";

      }

         echo "
                        <td width='1%' class='tbl1'>".$avatar."</td>
         <td width='20%' class='tbl1'><b>".$data_user['user_name']."</b></td>
         <td width='27%' class='tbl1'>".$locale['mf22']."</td><td width='43%' class='tbl1'><a href='buddys.php?buddy=l&buddy_from=".$userdata['user_id']."&buddy_to=".$data_to['buddy_to']."'>".$locale['mf33']."</a></td></tr>";

if ($buddy == 'l') {
mysql_query("DELETE FROM ".DB_PREFIX."buddys
WHERE buddy_from = $buddy_from AND buddy_to = $buddy_to");
redirect("buddys.php");
}

}

}}}

if (!isset($check)) $check='';

echo "</table>";


$result = mysql_query("SELECT * FROM ".DB_PREFIX."buddys WHERE buddy_from = ".$userdata['user_id']." OR buddy_to = ".$userdata['user_id']."");
$anzahl = mysql_num_rows($result);

if ($check <> "1") {

echo "<center><br>".$locale['mf40']."<br><br></center>";

}

}

closetable();
require_once THEMES."templates/footer.php";
?>
Ole Lauritsen
O
olelauErfaren bruger
Skrevet d. 14 år siden
Ja så løste jeg det aligevel, lidt stædighed er ikke at foragte

Jeg indsatte dette i toppen af filen

Citer


if (!isset($_REQUEST['buddy_to'])) $_REQUEST['buddy_to']='';
$buddy_to = $_REQUEST['buddy_to'];

if (!isset($_REQUEST['buddy_from'])) $_REQUEST['buddy_from']='';
$buddy_from = $_REQUEST['buddy_from'];


Endnu engang tak for hjælpen
Ole Lauritsen
F
fljFusioneer
Skrevet d. 14 år siden
Alletiders! Mon ikke flere her kunne være interesserede
Y
YxosVeteran
Skrevet d. 14 år siden
Enig.
Jeg kunne tænke mig, at opfordre til at skrive en artikel om brugen af $_POST, $_GET og $_REQUEST, gerne krydret med eksempler. :)
Yxos
Du kan se alle diskussionstråde i dette debatforum.
Du kan ikke starte en ny diskussionstråd i dette debatforum.
Du kan ikke svare i denne diskussionstråd.
Du kan ikke påbegynde en afstemning i dette debatforum.
Du kan ikke vedhæfte downloads i dette debatforum.
Du kan ikke vedhæfte downloads i dette debatforum.
Log ind
Er du endnu ikke registreret bruger? Klik her for at oprette dig.
Glemt kodeord?