Ik heb de php tutorial doorgelopen en de MySQL tutorial en ik ben er uiteraard wijzer van geworden maar ik loop nu nog steeds vast op dit probleem.
Dit is wat ik zelf heb geschreven;

De login pagina;


<table width="150px" border="0" align="center">
<tr>
<form method="post" action="logincheck.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Login</strong></td>
</tr>
<tr>
<td width="78">Gebruikersnaam</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Wachtwoord</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>


Je word dus d.m.v de action door gestuurd naar logincheck.php;


<?php
$host="localhost";
$username="root";
$password="";
$db_name="test";
$tbl_name="members";

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];


$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1)
{
session_register("myusername");
session_register("mypassword");
header("location:succes.php");
}
else
{
echo "<center><strong style='color:red;'>Verkeerde gebruikersnaam en/of wachtwoord!</strong></center>";
}
?>


Hier kijkt die dus of het klopt dan ga je door naar de pagina succes.php;

<?php
session_start();
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

if(!session_is_registered(myusername))
{
header("location:link.php");
}
?>



<?php

$conn = mysql_connect("localhost", "root");

if (!$conn)
{
echo "Kan niet vebinden met de DB: " . mysql_error();
}

if (!mysql_select_db("test"))
{
echo "Kan de database niet selecteren: " . mysql_error();
}

$sql = "SELECT * FROM members WHERE link ";

$result = mysql_query($sql);

if (!$result)
{
echo "Kan de query niet uitvoeren" . mysql_error();
}

if (mysql_num_rows($result) == 0)
{
echo "Niks gevonden";;
}

while ($row = mysql_fetch_assoc($result))
{
echo $row["link"];
}

mysql_free_result($result);

?>


Ik krijg dus. Niks gevonden. Wat doe ik verkeerd?

Ik wil graag als iemand is ingevolgd dat hij/zij een link krijgt naar een andere website. De gebruikers maak ik zelf aan + die link. Dit wordt opgeslagen in een database. username, password, link .

Ik wil van de ingelogd persoon de juiste link zien, althans dat is de bedoeling.

[size=xsmall]Toevoeging op 30/03/2012 13:10:09:[/size]

Joey Schroder op 30/03/2012 13:05:59

Ik heb de php tutorial doorgelopen en de MySQL tutorial en ik ben er uiteraard wijzer van geworden maar ik loop nu nog steeds vast op dit probleem.
Dit is wat ik zelf heb geschreven;

De login pagina;


<table width="150px" border="0" align="center">
<tr>
<form method="post" action="logincheck.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Login</strong></td>
</tr>
<tr>
<td width="78">Gebruikersnaam</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Wachtwoord</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>


Je word dus d.m.v de action door gestuurd naar logincheck.php;


<?php
$host="localhost";
$username="root";
$password="";
$db_name="test";
$tbl_name="members";

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];


$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1)
{
session_register("myusername");
session_register("mypassword");
header("location:succes.php");
}
else
{
echo "<center><strong style='color:red;'>Verkeerde gebruikersnaam en/of wachtwoord!</strong></center>";
}
?>


Hier kijkt die dus of het klopt dan ga je door naar de pagina succes.php;

<?php
session_start();
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

if(!session_is_registered(myusername))
{
header("location:link.php");
}
?>



<?php

$conn = mysql_connect("localhost", "root");

if (!$conn)
{
echo "Kan niet vebinden met de DB: " . mysql_error();
}

if (!mysql_select_db("test"))
{
echo "Kan de database niet selecteren: " . mysql_error();
}

$sql = "SELECT * FROM members WHERE link ";

$result = mysql_query($sql);

if (!$result)
{
echo "Kan de query niet uitvoeren" . mysql_error();
}

if (mysql_num_rows($result) == 0)
{
echo "Niks gevonden";;
}

while ($row = mysql_fetch_assoc($result))
{
echo $row["link"];
}

mysql_free_result($result);

?>


Ik krijg dus. Niks gevonden. Wat doe ik verkeerd?

Ik wil graag als iemand is ingelogd dat hij/zij een link krijgt naar een andere website. De gebruikers maak ik zelf aan + die link. Dit wordt opgeslagen in een database. username, password, link .

Ik wil van de ingelogd persoon de juiste link zien, althans dat is de bedoeling.


Reshadd die echo van jouw die werkt niet ;)
Dan krijg ik; unexpected T_VARIABLE, expecting ',' or ';' in die lijn van de echo.


echo "klik <a href='" .$row['link']."'>hier</a>";


Joey als je echo al fout gaat is het hoog tijd voor een basiscursus
Mijn echo was gewoon goed. Die echo van Rashidd die werkt niet ;)
en de jouwe ook!:
[code]<?php
echo 'klik <a href="' . $row['link'] . '">hier</a>';

Het probleem is nu. Als ik daar op klik dan ga ik naar /test/www.google.nl

Ik moet van die /test/ af!
ja sorry ik was de puntjes vergeten maar dat komt omdat ik veel werk met kleurtjes en dit typte ik even snel gewoon op phphulp textbox

het is trouwens Reshadd ;)
Reshadd farid op 30/03/2012 15:40:48

omdat je echo compleet fout zit.

het is

<?php

echo "klik <a href='" $row['link']"'>hier</a>";

?>
[/code]


Sorry ik typte ook te snel :P

Maar die echo van mij werkte wel. Ik was iets te snel met vragen omdat ik over enthousiast bezig was.

$row['link'] = str_replace("/test/", "", $row['link']);


Ger was dat tegen mij bedoelt? Zoja, quotes werken gewoon als je ze goed gebruikt.
Gerhard hoe moet ik dat in m'n script zetten?
Ik heb het nu boven de echo gezet maar dat haalt niks uit.

Reageren