Ik ben in deze vakantie begonnen met het maken van een chatsite. Het is niet echt de bedoeling dat het wordt gebruikt, maar het staat gewoon mooi in mijn portfolio en zo kan ik zelf mijn php kennis op de proef stellen. (Ik ben namelijk nog niet zo lang geleden begonnen met PHP).
Het resultaat na 2 slapeloze nachten is hier te zien:
tijheu.freehostia.com
Inloggen met:
cyclonenl
password
Het inloggen werkt momenteel prima en het uitnodigen ook. Alleen het wijzigen van een profiel lukt niet... Je kan het profiel wijzigen door naar het persoonlijk profiel te gaan en dan op wijzig te klikken.
De functie wijzig profiel luid als volgt:
<?php
function wijzig_profiel(){
if (!($_SESSION['logged'])){
echo "U moet ingelogd zijn om dit deel van de website te bekijken!";
} else {
$ID = $_GET['id'];
$SESID = $_SESSION['ID'];
if(!($ID == $SESID )) {
echo "U moet eigenaar van deze account zijn om hem te bewerken!";
} else {
if (isset($_POST['submit'])){
if(empty($_POST['username'])){
echo "Geen gebruikersnaam ingevult!";
$probleem = "TRUE";
}
if(empty($_POST['email'])){
echo "Geen email-adres ingevult!";
$probleem = "TRUE";
}
if(empty($_POST['msn'])){
echo "Geen msn ingevult!";
$probleem = "TRUE";
}
if(empty($_POST['eigentekst'])){
echo "Geen eigen tekst ingevult!";
$probleem = "TRUE";
}
if(empty($_POST['signature'])){
echo "Geen signature ingevult!";
$probleem = "TRUE";
}
if ($probleem){
echo "<b>Probeer het opnieuw!</b><br>";
exit;
}
$username = $_POST['username'];
$password = md5($_POST['password']);
$email = $_POST['email'];
$msn = $_POST['msn'];
$eigentekst = $_POST['eigentekst'];
$signature = $_POST['signature'];
$id = $_GET['id'];
$sqlu = "UPDATE gebruikers SET username=$username , password=$password , email=$email , msn=$msn , eigentekst=$eigentekst , signature=$signature WHERE id=$id" or die (mysql_error());
$results=mysql_query($sqlu);
$num = mysql_affected_rows();
if(mysql_affected_rows() == 1) {
echo "Uw profiel is succesvol bijgewerkt met de volgende gegevens:<br />
Gebruikersnaam:<b> $username</b><br>
MSN-Adres: <b>$msn</b><br>
Email-Adres:<b> $email</b><br>
Signature: <br>
<b>$signature</b><br>
Eigen tekst:<br>
<b>$eigentekst</b><br>
";
} else {
echo "ERROR! De query was: $sqlu <br> Affected rows: $num";
}
} else {
$sql_events = mysql_query("SELECT * FROM gebruikers WHERE ID = $ID") or die (mysql_error());
while ($row = mysql_fetch_array($sql_events)) {
$username = $row["username"];
$email = $row["email"];
$msn = $row["msn"];
$eigen_tekst = $row["eigentekst"];
$signature = $row["signature"];
$uitnodigingen = $row["uitnodigingen"];
?>
<form name="form1" method="post" action="wijzig.php?id=<? echo "$ID"; ?>">
<p>Gebruikersnaam:
<input type="text" name="username" value="<? echo "$username";?>">
<br>
Wachtwoord:
<input type="password" name="password" value="<? echo "$password";?>">
<br>
Email adres:
<input type="text" name="email" value="<? echo "$email";?>">
<br>
MSN:
<input type="text" name="msn" value="<? echo "$msn";?>">
<br>
<br>
Eigen tekst:
<textarea name="eigentekst" cols="30" rows="7"><? echo "$eigen_tekst";?></textarea>
<br>
Signature:
<textarea name="signature" cols="30" rows="7"><? echo "$signature";?></textarea>
<br>
<input name="submit" type="submit" id="submit" value="Wijzig!">
</p>
</form>
<?
}
}
}
}
}
?>
Het script moet de huidige gegevens overschrijven met de nieuwe gegevens, ingevoerd via het formulier.
Ik heb de mysql.net handleiding erover gelezen en volgens mij gebruik ik de juiste syntax.
Ik hoop dat jullie eruit komen,
CyCloneNL