Avatar billede grise_bassen Nybegynder
24. marts 2005 - 08:07 Der er 6 kommentarer og
1 løsning

bruger profiler

jeg har fået lavet et intern besked system med login.
men jeg kunne godt tænke mig at hver bruger har deres egen profil og at når man opretter en bruger at man også skal skrive sin email.
det må meget gerne hver med en ret profil funktion.


jeg kunne godt tænkr mig at der skulle være følgene ring i deres profil

man kan se

brugernavn
password
rigrige navn
E-mail
Hjemmeside
Fritekst

min slq og opret.php ser sådan her ud jeg ved ikke om der er andre filer i skal bruge men så må i lige sige til!
håber en af jer kan og har tid til at hjælpe!

sql

CREATE TABLE `brugere` (
  `ID` int(10) unsigned NOT NULL auto_increment,
  `brugernavn` varchar(100) NOT NULL default '',
  `kodeord` varchar(100) NOT NULL default '',
  `online` varchar(100) NOT NULL default '',
  `status` varchar(100) NOT NULL default 'normal',
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;

opret.php

<?
include "mysql/mysql.php";

if($_POST[action] == "opret") {

if($_POST[brugernavn] == "") {
print "Dit brugernavn mangler!";
print "<br><br>";

}else{

$resultat = mysql_query("select * from brugere where brugernavn = '$_POST[brugernavn]'");
if(mysql_num_rows($resultat) == "1") {
print "<b>$_POST[brugernavn]</b> er allerede oprettet!";
print "<br><br>";

}else{

$brugernavn = htmlspecialchars($_POST[brugernavn]);
$kodeord = htmlspecialchars($_POST[kodeord]);

mysql_query("INSERT INTO brugere (brugernavn, kodeord) VALUES ('$brugernavn', '$kodeord')")or die(mysql_error());
print "<b>$brugernavn</b> er nu oprettet!";
print "<br><br>";

} } }
?>


<form action="opret.php" method="POST">
<input type="hidden" name="action" value="opret">


Brugernavn<br>
  <input type="text" name="brugernavn" value="<? echo $_POST[brugernavn]; ?>"><br>
Kodeord<br>
  <input type="password" name="kodeord" value="<? echo $_POST[kodeord]; ?>"><br><br>

<input type="submit" value="Opret bruger" name="opret">

</form>
Avatar billede unsafe Nybegynder
24. marts 2005 - 08:31 #1
For det første skal du opdatere din sql, Udskift din nuværende med denne:

CREATE TABLE `brugere` (
  `id` int(11) NOT NULL auto_increment,
  `brugernavn` varchar(100) NOT NULL default '',
  `kodeord` varchar(100) NOT NULL default '',
  `online` varchar(100) NOT NULL default '',
  `status` varchar(100) NOT NULL default 'normal',
  `navn` varchar(255) NOT NULL default '',
  `email` varchar(255) NOT NULL default '',
  `webside` varchar(255) NOT NULL default '',
  `fritekst` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
);

Så ville jeg nok lave din opret.php således:

<?
include "mysql/mysql.php";

if($_SERVER[REQUEST_METHOD] == "POST") {

if($_POST[brugernavn] == "") {
print "Dit brugernavn mangler!<br><br";

}elseif($_POST[kodeord] == "") {
print "Dit password mangler!<br><br";

}elseif($_POST[email] == "") {
print "Din email mangler!<br><br";

} else {

$resultat = mysql_query("select * from brugere where brugernavn = '$_POST[brugernavn]'");
if(mysql_num_rows($resultat) == "1") {
print "<b>$_POST[brugernavn]</b> er allerede oprettet!";
print "<br><br>";

}else {

mysql_query("INSERT INTO brugere (brugernavn, kodeord, navn, email, webside, fritekst)
values('".htmlspecialchars($_POST[brugernavn])."',
'".htmlspecialchars($_POST[kodeord])."',
'".htmlspecialchars($_POST[navn])."',
'".htmlspecialchars($_POST[email])."',
'".htmlspecialchars($_POST[webside])."',
'".htmlspecialchars($_POST[fritekst])."')")or die(mysql_error());


print "<b>$brugernavn</b> er nu oprettet!";
print "<br><br>";

}
}
}
?>


<form action="opret.php" method="POST">
<input type="hidden" name="action" value="opret">


Brugernavn<br>
  <input type="text" name="brugernavn"><br>
Kodeord<br>
  <input type="password" name="kodeord"><br>
Navn<br>
  <input type="text" name="navn"><br>
Email<br>
  <input type="text" name="email"><br>
Hjemmeside<br>
  <input type="text" name="webside"><br>
Fritekst<br>
  <textarea cols="40" rows="8" name="fritekst"></textarea><br>
<br>

<input type="submit" value="Opret bruger" name="opret">

</form>

Jah og når du skal udskrive en profil kan du eksempelvis gøre:

<?php

if(!$_GET[id])
{
header("Location: index.php");
} else {

$conn = mysql_query("SELECT * FROM brugere WHERE id = '$_GET[id]'");
$rs = mysql_fetch_array($conn);

?>

Brugernavn: <b><?=$rs["brugernavn"];?></b><br>
Navn: <b><?=$rs["navn"];?></b><br>
Email: <b><?=$rs["email"];?></b><br>
Webside: <b><a href="<?=$rs["webside"];?>" target="_blank"><?=$rs["webside"];?></a></b><br>
Fritekst: <br>

<? echo nl2br($rs[email]); ?>

<?php } ?>

Det var såden set det?
Avatar billede grise_bassen Nybegynder
24. marts 2005 - 08:53 #2
opret php virker vist fint
men jeg kan ikke få nedestående kode til at virke som jeg har kaldt profil.php
hvordan skal mit link til "profil.php" se ud?
den viser bare index.php

<?php

if(!$_GET[id])
{
header("Location: index.php");
} else {

$conn = mysql_query("SELECT * FROM brugere WHERE id = '$_GET[id]'");
$rs = mysql_fetch_array($conn);

?>

Brugernavn: <b><?=$rs["brugernavn"];?></b><br>
Navn: <b><?=$rs["navn"];?></b><br>
Email: <b><?=$rs["email"];?></b><br>
Webside: <b><a href="<?=$rs["webside"];?>" target="_blank"><?=$rs["webside"];?></a></b><br>
Fritekst: <br>

<? echo nl2br($rs[email]); ?>

<?php } ?>
Avatar billede unsafe Nybegynder
24. marts 2005 - 10:47 #3
Jeg har tilføjet mere til opret.php så der også kommer ens navn, email osv ind i din database.

har du nogle oprettet i din tabellen brugere? hvis du har en med eksempel idet 1 så hedder det profil.php?id=1 så viser den infoen med idet 1.
Avatar billede grise_bassen Nybegynder
24. marts 2005 - 10:49 #4
okay tak smid et svar
Avatar billede unsafe Nybegynder
24. marts 2005 - 11:00 #5
Så lidt.
Avatar billede unsafe Nybegynder
24. marts 2005 - 11:01 #6
By the way, ret <? echo nl2br($rs[email]); ?> til <? echo nl2br($rs[fritekst]); ?>

Ellers udskriver den bare din mail igen.
Avatar billede unsafe Nybegynder
24. marts 2005 - 11:05 #7
Hehe endnu en fejl, eller ikke fejl men ret i din mysql i tabellen brugere fritekst fra varchar til longtext.

eks

CREATE TABLE `brugere` (
  `id` int(11) NOT NULL auto_increment,
  `brugernavn` varchar(100) NOT NULL default '',
  `kodeord` varchar(100) NOT NULL default '',
  `online` varchar(100) NOT NULL default '',
  `status` varchar(100) NOT NULL default 'normal',
  `navn` varchar(255) NOT NULL default '',
  `email` varchar(255) NOT NULL default '',
  `webside` varchar(255) NOT NULL default '',
  `fritekst` longtext default '',
  PRIMARY KEY  (`id`)
);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester