Hey,

Omdat er helaas niet is gereageerd op mijn aanvraag heb ik geprobeerd zelf profielpagina's bij mijn loginsysteem te maken (PhpMyLogon). Aangezien ik een newbie ben in PHP heeft het mij veel moeite gekost dat te maken. Het is óf redelijk gelukt of ik heb er niets van gebakken. De code (profile.php):

<?php

//Profielpagina's

include_once("config.php");
include_once("lang/lang_".$lang.".php");
$pml_title = $site_name;
include("htmltop.php");
include_once("connect.php");

if(isset($_GET['id'])) {
 if(isset($_GET['name'])) {
  $sql = "SELECT id,name FROM `".$db_tbl."` WHERE id='".$_GET['id']."'";
  $query = mysql_query($sql);
  $row = mysql_fetch_object($query);
  $dbid = htmlspecialchars($row->id);
?>
<table>
 <tr>
  <td><b><?= $memberlist_username ?></b></td>
 </tr>
 <?
 $sql = "SELECT name,active FROM `".$db_tbl."` ORDER BY name ASC";
 $query = mysql_query($sql);
 while($row = mysql_fetch_object($query)) {
  $name = htmlspecialchars($row->name);
  $active = htmlspecialchars($row->active);
  if($active == 0) {
   echo "<tr>\n";
   echo "<td><a href=\"?id=".$id."><font color=\"red\">".$name."</font></a></td>\n";
   echo "</tr>\n";
  }else{
   echo "<tr>\n";
   echo "<td><a href=\"?id=".$id.">".$name."</a></td>\n";
   echo "</tr>\n";
  }
 }
 ?>
</table>
<p />
<small><?= $memberlist_deactusernote ?></small>
<?php
if($query == TRUE) {
header("Location: profile.php?id=".$_GET['id']."");
echo "<table border=\"0\" width=\"500\">;
echo "<tr><td>Naam:</td><td>".$name."</td></tr>;
echo "<tr><td>Missie:</td><td>".$missie."</td></tr>;
echo "<tr><td>Ruimte:</td><td>".$ruimte."</td></tr>;
echo "<tr><td>Groep:</td><td>".$groep."</td></tr>;
echo "<tr><td>Stafflid:</td><td>".$stafflid."</td></tr>;
echo "</table>";
}else{
echo $error;
}
?>
<?
include("htmlbottom.php");
?>


Ik weet dat er fouten in zitten, waarschijnlijk met name in het gedeelte if($query == TRUE). Dat heb ik er zonder reden tussen gegooid.. :)
Ik denk dat jullie het doel van de pagina wel snappen. Op de site www.mijnpagina.nl/profile.php staat een lijst van de gebruikers. Als je er een aanklikt, kom je op de profielpagina van de gebruiker met het bijbehorende id (vb.-url: www.mijnpagina.nl/profile.php?id=1).

O ja, nog één ding. Als ik de pagina uitprobeer, krijg ik de volgende error:
Parse error: syntax error, unexpected '>' in /storage... etc etc.

Iemand enig idee hoe dit op te lossen valt/of het op te lossen is? Bij voorbaat dank voor je reactie.

Met vriendelijke groet,
Cas
Chris Kortaan schreef op 14.09.2009 15:30
PhpMyLogon is verouderd, de maker hiervan raad mensen ook aan om dit vooral NIET te gebruiken :)


Oké dan.. Misschien is het dan beter wat anders te zoeken.
Ennuh, wat is dan een concrete reden het niet te gebruiken? Onveilig ofzo?

Cas
Tip: http://phphulp.vindme.nl/

Beetje aanpassen aan de hand van wat tutorials en je komt al een flink stuk op weg.

- SALT erin bouwen bij het wachtwoord.
- Alle exits vervangen door een nettere fouten afhandeling.
Edit:
@SanThe: Inderdaad, het is een ; vergeten in regel 3 (line 4 is witregel). Ik heb bruin haar dus daar kan het niet aan liggen.. ;)

Cas
Puntkomma op regel 4 vergeten?
Opnieuw een probleem. Ik wil deze code gebruiken om wat gegevens op te vragen, maar hij geeft een unexpected T_VARIABLE error op line 8 (header):

Code: home.php

<?php

include(headers/database.php);

$data = mysql_query("SELECT * FROM `memb_userlist`") or die(mysql_error());
$info = mysql_fetch_array( $data );

header('Location: ?" . $info['user_name'] . "');
while($info = mysql_fetch_array( $data )) 
{ 
echo "<b>Naam:</b> " . $info['user_name'] . " "; 
echo "<b>ID:</b> " . $info['user_id'] . " <br>"; 
}

?>


Doel van de code is om de gegevens te kunnen zien op de site www.mijnwebsite.nl/home.php?[gebruikersnaam]. Daarom heb ik header('Location: ?" . $info['user_name'] . "'); ingevuld; blijkbaar geeft dit problemen.
Opnieuw de vraag: Wat doe ik fout?

Bij voorbaat dank voor je reactie.
Cas

Reageren