Avatar billede broxgaard Nybegynder
23. december 2002 - 15:31 Der er 37 kommentarer og
1 løsning

et lille php problem

jeg har følge script som er til en tagwall som skal bruge til et medlen system som jeg har lavet.. men jeg kan ikke få script til at gå ned database og hente den brugenavn som bruge er logge ind med... hvad gør jeg forkert?

script::
<?
session_start();
?>
<html>
<head>
<title>tagwall</title>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<LINK REL="stylesheet" HREF="../style.css" TYPE="text/css">
</head>
<body>
<center>
<table><tr><td></td><td width="5">&nbsp;</td><td><a href="#" onClick="window.open('smileys.php','Smileys','height=300, width=300, menubar=no, toolbar=no, scrollbar=no, adressbar=no')">Smileys</a></td></tr></table>
<form action="Tagwall.php" method="post">
<center><table>
<tr><td></td><td><input type="hidden" value="<b>Fra:</b>&nbsp;" name="from" class="felt"></td></tr>
<tr><td><pre>Navn:</pre></td><td><input name="username" type="text" id="username" value="" class="felt"></td></tr>
<tr><td></td><td><input type="hidden" value="<br>" name="br" class="felt"></td></tr>
<tr><td></td><td><input type="hidden" value="<b>Besked:</b><br>" name="histxt" class="felt"></td></tr>
<tr><td><pre>Besked:</pre></td><td><textarea cols="20" rows="5" class="area" name="besked"></textarea></td></tr>
<tr><td><pre>Tekstfarve:</pre></td><td>
<select name="color">
  <option value="darkred">Mørk rød</option>
  <option value="darkblue">Mørk blå</option>
</select>

</td></tr>
<tr><td><pre>Skrifttype:</pre></td><td>
<select name="skrift">
  <option value="Arial">Arial</option>
</select>

</td></tr>
<tr><td></td><td><input type="hidden" value="<hr>" name="hr" class="felt"></td></tr>
<tr><td><input type="submit" class="felt" value="Skriv"></td><td><input type="reset" class="felt" value="Slet alt"></td></tr>
</table>
</form>
</center>
<?
if (trim(strtolower($_POST["username"])) == "admin") {
print "Det er ikke tilladt at bruge navnet Admin";
exit;
}
$file = fopen("./beskeder.txt","a");
function Smilies($str) {
    $str = ereg_replace("[:]+[)]","<img src=\"glad.gif\">",$str);
    $str = ereg_replace("[:]+[D]","<img src=\"supergrin.gif\">",$str);
    $str = ereg_replace("[>]+[)]","<img src=\"devil.gif\">",$str);
    $str = ereg_replace("[0]+[)]","<img src=\"angel.gif\">",$str);
    $str = ereg_replace("[:]+[(]","<img src=\"angry.gif\">",$str);
    $str = ereg_replace("[:]+[P]","<img src=\"latter.gif\">",$str);
    $str = ereg_replace("[:]+[Q]","<img src=\"pistolmand.gif\">",$str);
    $str = ereg_replace("[:]+[O]","<img src=\"pokemonball.gif\">",$str);
    return $str;
}
$besked = Smilies($besked);
fputs($file,"$from $username $frome $br $histxt <font color=$color face=$skrift>$besked</font> $hr");
fclose($file);

?>
<hr>
<?php include("beskeder.txt"); ?>
</body>
</html>
Avatar billede esben_pape Nybegynder
23. december 2002 - 17:50 #1
Du vil ikke bruge mySQL til det?
Avatar billede broxgaard Nybegynder
23. december 2002 - 18:30 #2
den skal hente oplysninger om bruge navn i mim mysql database... den tagwall jeg har funde bruge ikke mysql
Avatar billede esben_pape Nybegynder
23. december 2002 - 19:12 #3
Hmm jeg er bange for, jeg ikke helt forstår dit problem. Kan du ikke læse et par artikler om brugersystemer osv på www.anything.dk eller www.udvikleren.dk ?

..ellers prøv at uddyb lidt :/
Avatar billede broxgaard Nybegynder
23. december 2002 - 19:19 #4
jeg har lavet mit ejet login system ud fra en tutorials og jeg har funde et tagwall som jeg vil bruge til det.. men jeg skal have tagwall til at gå ned i min database og hente bruges brugenavn frem når person gå ind på tagwall så det bliver hans brugenavn der kommer frem når han skrive
Avatar billede 4max.net Nybegynder
24. december 2002 - 14:05 #5
Hvorfor gemmer du ikke bare brugernavnet i en session er gør som følgende:

<input name="username" type="text" id="username" value="<?=$_SESSION['brugernavn'];?>" class="felt">
Avatar billede broxgaard Nybegynder
24. december 2002 - 14:25 #6
har prøve ... virke ikke
Avatar billede 4max.net Nybegynder
24. december 2002 - 14:41 #7
hmm. så har du nok lavet noget forkert, kan man komme til at se koden?
Avatar billede broxgaard Nybegynder
24. december 2002 - 14:48 #8
værså god

<?
session_start();

include '../db.php';
// Conver to simple variables
$username = $_SESSION['username'];
?>
<html>
<head>
<title>tagwall</title>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<LINK REL="stylesheet" HREF="../style.css" TYPE="text/css">
</head>
<body>
<center>
<table><tr><td></td><td width="5">&nbsp;</td><td><a href="#" onClick="window.open('smileys.php','Smileys','height=300, width=300, menubar=no, toolbar=no, scrollbar=no, adressbar=no')">Smileys</a></td></tr></table>
<form action="Tagwall.php" method="post">
<center><table>
<tr><td></td><td><input type="hidden" value="<b>Fra:</b>&nbsp;" name="from" class="felt"></td></tr>
<tr><td><pre>Navn:</pre></td><td><input name="username" type="text" id="username" value="<?echo $_SESSION['username'];?>" class="felt"></td></tr>
<tr><td></td><td><input type="hidden" value="<br>" name="br" class="felt"></td></tr>
<tr><td></td><td><input type="hidden" value="<b>Besked:</b><br>" name="histxt" class="felt"></td></tr>
<tr><td><pre>Besked:</pre></td><td><textarea cols="20" rows="5" class="area" name="besked"></textarea></td></tr>
<tr><td><pre>Tekstfarve:</pre></td><td>
<select name="color">
  <option value="darkred">Mørk rød</option>
  <option value="darkblue">Mørk blå</option>
</select>

</td></tr>
<tr><td><pre>Skrifttype:</pre></td><td>
<select name="skrift">
  <option value="Arial">Arial</option>
</select>

</td></tr>
<tr><td></td><td><input type="hidden" value="<hr>" name="hr" class="felt"></td></tr>
<tr><td><input type="submit" class="felt" value="Skriv"></td><td><input type="reset" class="felt" value="Slet alt"></td></tr>

</table>
</form>
</center>
<?
if (trim(strtolower($_POST["username"])) == "admin") {
print "Det er ikke tilladt at bruge navnet Admin";
exit;
}
$file = fopen("./beskeder.txt","a");
function Smilies($str) {
    $str = ereg_replace("[:]+[)]","<img src=\"glad.gif\">",$str);
    $str = ereg_replace("[:]+[D]","<img src=\"supergrin.gif\">",$str);
    $str = ereg_replace("[>]+[)]","<img src=\"devil.gif\">",$str);
    $str = ereg_replace("[0]+[)]","<img src=\"angel.gif\">",$str);
    $str = ereg_replace("[:]+[(]","<img src=\"angry.gif\">",$str);
    $str = ereg_replace("[:]+[P]","<img src=\"latter.gif\">",$str);
    $str = ereg_replace("[:]+[Q]","<img src=\"pistolmand.gif\">",$str);
    $str = ereg_replace("[:]+[O]","<img src=\"pokemonball.gif\">",$str);
    return $str;
}
$besked = Smilies($besked);
fputs($file,"$from $username $frome $br $histxt <font color=$color face=$skrift>$besked</font> $hr");
fclose($file);

?>
<hr>
<?php include("beskeder.txt"); ?>
</body>
</html>
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:07 #9
er du sikker på at informationerne bliver hentet ud i db.php og det nemmeste er jo hvis du laver sessionvariablen username når de logger på.

Har du husket at lave sessionvariablen?

session_register("username");
$username = $brugernavn;
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:09 #10
for at du kan se hvad det skal bruge til er du nød til at gå ind på www.anti-bums.dk/login1/join_form.html og så lige skriv dit brugenavn her så jeg kan ændre så du kan se hvad der er glat
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:12 #11
brugernavn stefan
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:13 #12
nu kan du se tagwall
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:16 #13
når folk logger på går jeg ud fra at du laver en session, som fortæller at de er logget på. Her ville jeg samtidig lave følgende:

session_register("username");
$username = $brugernavn;

hvor $brugernavn er hentet fra databasen.
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:19 #14
Hmm ser ikke ud til at virke
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:22 #15
vis lige koden hvor folk logger på
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:23 #16
login_form.php;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<LINK REL="stylesheet" HREF="style.css" TYPE="text/css">
<!-- Minus AutoDato -->
<title>Login</title>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="checkuser.php" method="post" name="" id="">
<fieldset>
<legend>Login</legend>
<div>
<label for="t1">Brugernavn:</label><input name="username" type="text" id="username" class="t1" /><br />
<label for="t2">Adgang kode:</label><input name="password" type="password" id="password" class="t2" /><br />
</div>
</fieldset>

<div><input type="submit" name="Submit" value="Submit" id="submit" /></div>

</form>

</body>
</html>

checkuser.php;

<?
/* Check User Script */
session_start();  // Start Session

include 'db.php';
// Conver to simple variables
$username = $_POST['username'];
$password = $_POST['password'];

if((!$username) || (!$password)){
    echo "Please enter ALL of the information! <br />";
    include 'login_form.html';
    exit();
}

// Convert password to md5 hash
$password = md5($password);

// check if the user info validates the db
$sql = mysql_query("SELECT * FROM medlen_users WHERE username='$username' AND password='$password' AND activated='1'");
$login_check = mysql_num_rows($sql);

if($login_check > 0){
    while($row = mysql_fetch_array($sql)){
    foreach( $row AS $key => $val ){
        $$key = stripslashes( $val );
    }
        // Register some session variables!
        session_register('first_name');
        $_SESSION['first_name'] = $first_name;
        session_register('last_name');
        $_SESSION['last_name'] = $last_name;
        session_register('email_address');
        $_SESSION['email_address'] = $email_address;
        session_register('special_user');
        $_SESSION['user_level'] = $user_level;
       
        mysql_query("UPDATE medlen_users SET last_login=now() WHERE userid='$userid'");
       
        header("Location: login_success.php");
    }
} else {
    echo "You could not be logged in! Either the username and password do not match or you have not validated your membership!<br />
    Please try again!<br />";
    include 'login_form.html';
}
?>
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:28 #17
Så tilføj følgende efter '// Register some session variables!'

session_register('user_name');
$_SESSION['user_name'] = $username;

og i tagwall'en skal du så huske at rette den, så den henter $_SESSION['user_name']
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:33 #18
Prøv selv at lige se..
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:37 #19
øhh? Jeg kan jo ikke se sourcekoden... hvis det er det du mener.
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:38 #20
den hente jo ikke ens brugenavn frem
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:40 #21
nej, men det er nok fordi du ikke har lavet sessionvariablen rigtigt. har du gjort som jeg skrev lige før?
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:44 #22
tak.. nu virke det.. svar lige så du kan få de point
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:47 #23
der er lige en lille fejl... hvis du prøve at se så skrive den brugenavnet et sted hvor der ikke skal
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:49 #24
virker det helt nu?
Avatar billede broxgaard Nybegynder
24. december 2002 - 15:51 #25
Hvis jeg skrive:

}
$besked = Smilies($besked);
fputs($file,"$from $username $frome $br $histxt <font color=$color face=$skrift>$besked</font> $hr");
fclose($file);

?>
vise ens brugenavn ikke

men hvis jeg skrive sådan her:
}
$besked = Smilies($besked);
fputs($file,"$from $user_name $frome $br $histxt <font color=$color face=$skrift>$besked</font> $hr");
fclose($file);

?>

vise en brugenavn før man overhovedet har skreve
Avatar billede 4max.net Nybegynder
24. december 2002 - 15:55 #26
ved den nederste er det sessionvariablen som bliver hentet, du kan jo evt. helt fjerne boksen hvor folk selv kan skrive noget i. Men det øverste burde virke!
Avatar billede broxgaard Nybegynder
24. december 2002 - 16:01 #27
du kan jo se at den sætte ens brugenavn ind før man overhovedet har skreve noget
Avatar billede 4max.net Nybegynder
24. december 2002 - 16:06 #28
hvis du bare bruger den nederste kode så skulle det virke!
Avatar billede broxgaard Nybegynder
24. december 2002 - 16:09 #29
det er den jegh bruge... men det virke jo ikke helt
Avatar billede 4max.net Nybegynder
24. december 2002 - 16:13 #30
så ser den da ud til at virke...
Avatar billede broxgaard Nybegynder
24. december 2002 - 16:14 #31
den sætte brugenavnet ind på siden FØR man har skreve noget... den viser det lige så snart du kommer ind
Avatar billede layer Nybegynder
24. december 2002 - 16:18 #32
hvor har du den torturial fra?
Avatar billede broxgaard Nybegynder
24. december 2002 - 16:20 #33
tagwall eller login for tagwall er en jeg har funde på nettet
Avatar billede broxgaard Nybegynder
24. december 2002 - 16:21 #34
færdig lavet...
Avatar billede layer Nybegynder
24. december 2002 - 16:30 #35
hvor, jeg kunne godt tænke mig at læse den?
Avatar billede broxgaard Nybegynder
24. december 2002 - 16:33 #36
det login jeg har kan du finde på phpfreaks.com og tagwall kan du finde på script.dk ved at søge på MiniWall
Avatar billede layer Nybegynder
24. december 2002 - 16:42 #37
thx
Avatar billede broxgaard Nybegynder
13. februar 2003 - 11:51 #38
LUKKET
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