Hoi allemaal,

ik probeer met MySQL en PHP automatische hyperlinks te maken.
het invoeren is niet niet zo moeilijk, maar nu moet ik de "echo" voor elkaar krijgen.
en dat lukt dus niet.

ik krijg continue de volgende foutmelding, en ik heb verschillende "Fetch" commando's van SQL geprobeerd.

Notice: Undefined index: link in /customers/5/d/4/pvbr.nl/httpd.www/new/cfg/hyper.inc on line 15

Notice: Undefined index: naam in /customers/5/d/4/pvbr.nl/httpd.www/new/cfg/hyper.inc on line 15

en verderop in de pagina staat :
Warning: Invalid argument supplied for foreach() in /customers/5/d/4/pvbr.nl/httpd.www/new/index.php on line 33

deze is natuurlijk logisch

hier de code van hyper.inc
<?php

include "cfg/cfg.inc";

$con = mysql_connect($host, $user, $pass) or die ('Failed to connect to database' .mysql_error());
mysql_select_db($db);
$sql = 'SELECT * FROM `hyper` LIMIT 0, 30 ';
$rst = mysql_query($sql);
$row = mysql_fetch_row($rst);

$link = "<a href=".$row['link'].">".$row['naam']."</a>";
?>

index.php

<?php

ini_set('display_errors',1);
error_reporting(E_ALL);
session_start();
include 'cfg/hyper.inc';

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<html xmlns="http://www.w3.org/1999/xhtml">;

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta content="nl" http-equiv="Content-Language" />
<title>Personeels vereniging Bart's Retail</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link href="css\pvbr.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="logo" style="background-color:fuchsia;position:relative;width:auto;height:100px;font-size:50px;text-align:left;vertical-align:top">
<img alt="Logo Bart's Retail" height="100" src="img\Bakkertje.png" width="100" />
Personeels Vereniging Bart's Retail
</div>

<div id="nav" style="background-color:fuchsia;position:relative;width:200px;height:auto;font-size:18px;text-align:left;">
<?php

if(isset($link))
{
echo "<ul>";
foreach($link as $links)
{
echo '<li>'.$links.'</li>';
}
echo "</ul>";


}

?>

</div>
</body>

</html>
ik zie geen lijn 15 in het eerste bestand?
Probeer eens mysql_fetch_assoc() ?
De MySQL query is mislukt. Gebruik foutafhandeling ([php]mysql_error[/php]) om te zien waarom de query is mislukt.

[size=xsmall]Toevoeging op 30/10/2011 18:48:33:[/size]

Ik kan je ook vertellen dat dat komt, doordat je MySQL host verkeerd is. Gebruik daarvoor localhost.

Tweede tip, beveilig je bestanden aangezien deze nu uit te lezen zijn in de browser..
sorry, mijn fout hier is de goede hyper.inc

<?php

/**
* @author Ben Janssen
* @copyright 2011
*/
include "cfg.inc";

$con = mysql_connect($host, $user, $pass) or die ('Failed to connect to database' .mysql_error());
mysql_select_db($db);
$sql = 'SELECT * FROM hyper LIMIT 0, 30 ';
$rst = mysql_query($sql);
$row = mysql_fetch_row($rst);

$link = "<a href=".$row['link'].">".$row['naam']."</a>";
?>

[size=xsmall]Toevoeging op 30/10/2011 19:15:39:[/size]

Victor - op 30/10/2011 18:09:30

Probeer eens mysql_fetch_assoc() ?


dan hou ik alleen nog de volgende over.

Warning: Invalid argument supplied for foreach() in /customers/5/d/4/pvbr.nl/httpd.www/new/index.php on line 33

[size=xsmall]Toevoeging op 30/10/2011 19:18:53:[/size]

Chris Horeweg op 30/10/2011 18:47:10

De MySQL query is mislukt. Gebruik foutafhandeling ([php]mysql_error[/php]) om te zien waarom de query is mislukt.

[size=xsmall]Toevoeging op 30/10/2011 18:48:33:[/size]

Ik kan je ook vertellen dat dat komt, doordat je MySQL host verkeerd is. Gebruik daarvoor localhost.

Tweede tip, beveilig je bestanden aangezien deze nu uit te lezen zijn in de browser..


de host is niet verkeerd, hij staat namelijk online.
ik heb het geprobeerd met localhost, maar dat werd helemaal niks.
nu kan ik tenminste zien dat ik fouten maak, maar ook waar.

het beveiligen van de bestanden??
zo ver ben ik nog niet met PHP, hint?
Nogmaals, de query is mislukt. Na "mysql_query($sql)" (regel 11) dit plaatsen:

exit(mysql_error());

Dit is geen nette afhandeling, maar dan krijg je de foutmelding te zien en daar kun je mee werken.

Je hostnaam voor mysql heb je ingevuld als "pvbr.nl.mysql". Dit lijkt mij niet te werken?

Je gebruikt .inc bestanden, welke gewoon gedownload kunnen worden. Oftewel, ik kan op dit moment zonder enige moeite je configuratiebestanden inlezen. Gebruik als extensie .php, deze worden niet getoond in de browser.
Chris Horeweg op 30/10/2011 19:25:09

Nogmaals, de query is mislukt. Na "mysql_query($sql)" (regel 11) dit plaatsen:

exit(mysql_error());

Dit is geen nette afhandeling, maar dan krijg je de foutmelding te zien en daar kun je mee werken.

Je hostnaam voor mysql heb je ingevuld als "pvbr.nl.mysql". Dit lijkt mij niet te werken?

Je gebruikt .inc bestanden, welke gewoon gedownload kunnen worden. Oftewel, ik kan op dit moment zonder enige moeite je configuratiebestanden inlezen. Gebruik als extensie .php, deze worden niet getoond in de browser.


ok php ipv inc, handig om te weten.
dank je

ga het ff proberen, en dan hoor je het nog.



[size=xsmall]Toevoeging op 30/10/2011 19:33:22:[/size]

na de aanpassing van exit, krijg ik deze fouten.

Notice: Undefined variable: link in /customers/5/d/4/pvbr.nl/httpd.www/new/index.php on line 29
Warning: Invalid argument supplied for foreach() in /customers/5/d/4/pvbr.nl/httpd.www/new/index.php on line 29

[size=xsmall]Toevoeging op 30/10/2011 21:02:34:[/size]

Oke ik heb nu het volgende, het maken van de links komt nu goed op de site te staan.
echter de inhoud van de DB word er niet ingezet, waardoor de links die getoond worden blanco zijn.

dit resulteert in een foutmelding "dit bestand bestaat niet op deze server."


<?php

/**
* @author Ben Janssen
* @copyright 2011
*/

ini_set('display_errors',1);
error_reporting(E_ALL);
session_start();

include "cfg/cfg.php";

$con = mysql_connect($host, $user, $pass) or die ('Failed to connect to database' .mysql_error());
mysql_select_db($db);
$sql = 'SELECT * FROM hyper LIMIT 0, 30 ';
$rst = mysql_query($sql);
$row = mysql_fetch_row($rst);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<html xmlns="http://www.w3.org/1999/xhtml">;

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta content="nl" http-equiv="Content-Language" />
<title>Personeels vereniging Bart's Retail</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link href="css\pvbr.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="logo" style="background-color:fuchsia;position:relative;width:auto;height:100px;font-size:50px;text-align:left;vertical-align:top">
<img alt="Logo Bart's Retail" height="100" src="img\Bakkertje.png" width="100" />
Personeels Vereniging Bart's Retail
</div>

<div id="nav" style="background-color:fuchsia;position:relative;width:200px;height:auto;font-size:18px;text-align:left;">
<?php
if ( !is_array( $row ) )
{
$row = array();
}
foreach ($row as $rows)
{
$link = "<a href=".$rows['link'].">".$rows['naam']."</a>";
// enz
echo "<ul>";

echo '<li>'.$link.'</li>';

echo "</ul>";

}


?>

</div>
</body>

</html>

Reageren