Hallo,
Ik heb een stukje code gemaakt dat alle gegevens van zogenaamde "badges" die je naast je naam kan hebben uit de database haalt en dan meerdere replaces aanmaakt.
Ik heb het volgende stukje code:
$list2 = mysql_query($query2);
$query2 = "SELECT * FROM badges";
$badges_sql = "SELECT * FROM leden";
$badges = $list->badges;
while ($list2 = mysql_fetch_array($query2))
{
	extract($list2);
$badges = str_replace('"$naam"', '<img src=""$img"" alt=""$beschrijving"">', $badges);
}
echo "$badges";

Weten jullie wat hier fout aan is?
MySQL gegevens enz. heb ik erin gezet..
Welke foutmeldingen krijg je? Wat is het probleem? Etc. etc.

Verder horen variabelen nooit tussen quotes te staan en is het wel zo handig om eerst de query aan te maken en daarna pas uit te voeren... error_reporting(E_ALL) doet wonderen!
Ja query's heb ik alleen perongeluk niet hier gepost. Heb hem ff geëdit..
Ik krijg trouwens zo'n "is not an valid argument" fout.
Kan je laten zien hoe jij het zou doen?
Laurens schreef op 27.10.2006 19:07
Ja query's heb ik alleen perongeluk niet hier gepost. Heb hem ff geëdit..
Ik krijg trouwens zo'n "is not an valid argument" fout.
Kan je laten zien hoe jij het zou doen?
Dat is vrijwel onmogelijk omdat ik niet weet wat nu de bedoeling is. Er zitten gewoon te veel fouten in jouw script om hier wat mee te kunnen.

Begin in elk geval alsvolgt:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

// rest van het script
?>
Vervolgens ga je de boel logisch opbouwen en overal controleren of de verschillende acties zijn gelukt. Foutafhandeling is de basis van een goed systeem.
Post de gehele foutmelding graag
Hier een overzichtje van de vele fouten in het script, dan krijg je een idee van de problemen die er zijn:
<?
$list2 = mysql_query($query2); // gaat fout, $query2 bestaat niet, foutafhandeling ontbreekt ook nog eens
$query2 = "SELECT * FROM badges"; // hé! hier hebben we $query2...
$badges_sql = "SELECT * FROM leden"; // waar voer je deze query uit?
$badges = $list->badges; // mislukt waarschijnlijk, waar komt $list->badges vandaan?
while ($list2 = mysql_fetch_array($query2)) // overschrijft $list2 en fetchen van een stuk sql... Dit snapt helemaal niemand!
{
extract($list2);
$badges = str_replace('"$naam"', '<img src=""$img"" alt=""$beschrijving"">', $badges); // variabelen buiten quotes halen
}
echo "$badges"; // variabelen buiten quotes halen
?>
Ik post wel gwn ff heel mijn Profiel-script ;)
<div align="center">
			<?
require("config.php");
require("include.php");
beveiliging("Iedereen");

echo "<link href='style.css' type='text/css' rel='stylesheet'>";

$select = "SELECT *,date_format(datum,'%d-%m-%Y') AS datum FROM leden WHERE id='" . $_GET['mid'] . "' AND activatie='1'";
$select2 = "SELECT * FROM badges";
// Hier boven staat de tbl waar hij moet zoeken is die goed?
$query = mysql_query($select);

$bestaat = mysql_num_rows($query);
$list = mysql_fetch_object($query);
$list2 = mysql_query($query2);

if ($bestaat == 0)
{
	echo "<b>Profiel &rsaquo; Fou</b>";
	echo "Deze gebruikersnaam bestaat niet en heeft dus ook geen profiel!";
}
else
{
	echo "<b>Profiel van $list->gebruikersnaam</b><br><br>
		<table width=\"100%\" cellpadding=\"0\">
		<tr><td width=\"30%\"><b>Gebruikersnaam:</b></td><td>$list->gebruikersnaam</td></tr>
		<tr><td width=\"30%\"><b>Id:</b></td><td>$list->id</td><tr>
		<tr><td width=\"30%\"><b>Naam:</b></td><td>$list->naam</td></tr>
		<tr><td width=\"30%\"><b>E-mail adres:</b></td><td><b>$list->email</td></tr>
		<tr><td width=\"30%\"><b>Homepage:</b></td><td>";
	
	if ($list->homepage == "")
	{
		$homepage = "Geen";
	}
	else
	{
		$homepage = "<a href=\"$list->homepage\" target=\"new\">$list->homepage</a>";
	}

	echo "$homepage</td></tr>
		<tr><td width=\"30%\"><b>Lid sinds:</b></td><td>$list->datum</td></tr>
		<tr><td width=\"30%\"><b>Status:</b></td><td><font color=\"" . $color_array[$list->status] . "\">$list->status</font></td></tr>
		<tr><td width=\"30%\"><b>Waarschuwingen:</b></td><td>$list->waarschuwingen</td></tr>
		<tr><td width=\"30%\"><b>Ondertitel:</b></td><td>$list->ondertitel</td></tr>
		<tr><td width=\"30%\"><b>PB:</b></td><td><a href=\"priveberichten.php?new=1&naar=$list->gebruikersnaam\">Stuur PB</a></td></tr>
		<tr><td width=\"30%\" valign=\"top\"><b>Avatar:</b></td><td>";

	if ($list->avatar != "Geen")
	{
		echo "<img src=\"avatar/$list->avatar\">";
	}
	else {
		echo "Geen";
	}

	echo "<tr><td width=\"30%\" valign=\"top\"><b>Badges:</b></td><td>";
	echo "</td></tr>";
	echo "</table>";
}
?>
<?php
$badges_sql = "SELECT * FROM leden";
$badges = $list2->badges;
$status = $list->status;
$xtrastatus = $list->werk;
$list2 = mysql_query($query2);
$select2 = "SELECT * FROM badges";
$query2 = "SELECT * FROM badges";
while ($list2 = mysql_fetch_array($query2))
{
	extract($list2);
$badges = str_replace('"$naam"', '<img src=""$img"" alt=""$beschrijving"">', $badges);
}
echo "$badges";
if($status == HabboX){
	echo " <img src=\"http://images.habbolife.nl/badges/habbo_x.gif\" alt=\"habboX\">";
}
if($xtrastatus == nieuws){
	echo " <img src=\"http://images.habbolife.nl/badges/news_p.gif\" alt=\"Nieuwsreporter\">";
}
if($status == vip){
	echo " <img src=\"http://images.habbolife.nl/badges/vip_badge.gif\" alt=\"Vip\">";
}
?>

</div> 

Alles werkt naar behoren alleen ik krijg de volgende foutmelding:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /storage/mijndomein/users/048680/public/sites/www.ihabbo.nl/users2/profiel.php on line 84


Een beetje slecht gescript maar ik wil eerst dat hij goed werkt daarna schoon ik hem op :)
Een beetje slecht gescript maar ik wil eerst dat hij goed werkt daarna schoon ik hem op :)
Dat lijkt me een slecht plan! Ga eerst eens opschonen, de kans dat het dan gaat werken wordt dan een stuk groter.

En begin je script met de volgende regels:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

// rest van het script
?>
Schrik niet van de vele foutmeldingen, die heb je nodig om te debuggen. Succes!
Ik heb hem nu debugged maar het probleem treedt nog steeds op.
Ik heb nu:
<?php
require("config.php");

echo "<link href='style.css' type='text/css' rel='stylesheet'>";

$select = "SELECT *,date_format(datum,'%d-%m-%Y') AS datum FROM leden WHERE id='" . $_GET['mid'] . "' AND activatie='1'";
$select2 = "SELECT * FROM badges";
$badges_sql = "SELECT * FROM leden";
$badges = $list2->badges;
$status = $list->status;
$xtrastatus = $list->werk;
$query = mysql_query($select);
$bestaat = mysql_num_rows($query);
$list = mysql_fetch_object($query);
$list2 = mysql_query($query2);
$query2 = "SELECT * FROM badges";

if ($bestaat == 0)
{
	echo "<b>Profiel &rsaquo; Fou</b>";
	echo "Deze gebruikersnaam bestaat niet en heeft dus ook geen profiel!";
}
else
{
	echo "<b>Profiel van $list->gebruikersnaam</b><br><br>
		<table width=\"100%\" cellpadding=\"0\">
		<tr><td width=\"30%\"><b>Gebruikersnaam:</b></td><td>$list->gebruikersnaam</td></tr>
		<tr><td width=\"30%\"><b>Id:</b></td><td>$list->id</td><tr>
		<tr><td width=\"30%\"><b>Naam:</b></td><td>$list->naam</td></tr>
		<tr><td width=\"30%\"><b>E-mail adres:</b></td><td><b>$list->email</td></tr>
		<tr><td width=\"30%\"><b>Homepage:</b></td><td>";
	
	if ($list->homepage == "")
	{
		$homepage = "Geen";
	}
	else
	{
		$homepage = "<a href=\"$list->homepage\" target=\"new\">$list->homepage</a>";
	}

	echo "$homepage</td></tr>
		<tr><td width=\"30%\"><b>Lid sinds:</b></td><td>$list->datum</td></tr>
		<tr><td width=\"30%\"><b>Status:</b></td><td><font color=\"" . $color_array[$list->status] . "\">$list->status</font></td></tr>
		<tr><td width=\"30%\"><b>Waarschuwingen:</b></td><td>$list->waarschuwingen</td></tr>
		<tr><td width=\"30%\"><b>Ondertitel:</b></td><td>$list->ondertitel</td></tr>
		<tr><td width=\"30%\"><b>PB:</b></td><td><a href=\"priveberichten.php?new=1&naar=$list->gebruikersnaam\">Stuur PB</a></td></tr>
		<tr><td width=\"30%\" valign=\"top\"><b>Avatar:</b></td><td>";

	if ($list->avatar != "Geen")
	{
		echo "<img src=\"avatar/$list->avatar\">";
	}
	else {
		echo "Geen";
	}

	echo "<tr><td width=\"30%\" valign=\"top\"><b>Badges:</b></td><td>";
	echo "</td></tr>";
	echo "</table>";
}


while ($list2 = mysql_fetch_array($query2))
{
	extract($list2);
$badges = str_replace('"$naam"', '<img src=""$img"" alt=""$beschrijving"">', $badges);
}
echo "$badges";
if($status == HabboX){
	echo " <img src=\"http://images.habbolife.nl/badges/habbo_x.gif\" alt=\"habboX\">";
}
if($xtrastatus == nieuws){
	echo " <img src=\"http://images.habbolife.nl/badges/news_p.gif\" alt=\"Nieuwsreporter\">";
}
if($status == vip){
	echo " <img src=\"http://images.habbolife.nl/badges/vip_badge.gif\" alt=\"Vip\">";
}
?>
</td>
</div> 

Mijn config is:
<?
$host = "db.ihabbo.nl";
// de locatie van je database

$user = "ledensysteem"; 
// de gebruikersnaam om toegang te krijgen tot je database

$ww = "Jaah!"; 
// het wachtwoord om toegang te krijgen tot je database

$db = "ledensysteem"; 
// de naam van je database

mysql_connect("$host", "$user", "$ww") or die("Connectie met Database mislukt");
mysql_select_db("$db") or die("Fout bij het selecteren van de database");

$site_naam = "iHabbo Nederland";
// de naam van je website

$site_webmaster_naam = "MelkEi";
// de naam van de webmaster

$site_webmaster_email = "[email protected]";
// het emailadres van de webmaster

$site_url = "http://www.ihabbo.nl";
// url van de site

$color_array = array(
"Beheerder"=>"red",
"Smod"=>"darkgreen",
"Mod"=>"green",
"vip"=>"black",
"HabboX"=>"#00CCFF",
"Verbannen"=>"gray");
?>
Volgens mij is er al 3x gezegd dat je :
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

// rest van het script
?>
er eens neer moet zetten.

Reageren