Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Sv: navne felt. hjælp.

Sv: navne felt. hjælp.


 

Sv: navne felt. hjælp.

Henrik Nielsen  

hej, jeg er igang med at smelte en side sammen, jeg kunne godt tænke mig et enkelt forum,
hvor jeg bruger loginet fra min egen side, som eks. har jeg taget forum v.1 her fra siden.


så vil jeg jo gerne have at folk kun kan skrive hvis de er medlemmer, og at deres navn
automatisk kommer i navne feltet, hvor de ikke selv er istand til at slette deres eget
navn. 

navne feltet ser sådan ud: 

<b>Dit navn:</b><br>
<input type="text" name="navn" value="<? echo $_POST[navn]; ?>"><br>

og hele koden ser sådan ud: 
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Forum - Af Henrik Nielsen [www.Dounie.dk]</title>
<link rel="stylesheet" href="CSS/default.css" type="text/css">

</head>

<body oncontextmenu="return false" ondragstart="return false" onselectstart="return
false">

<?
include("top.php");
?>

<form action="opret.php?mode=opret" method="POST">

<b>Dit navn:</b><br>
<input type="text" name="navn" value="<? echo $_POST[navn]; ?>"><br>

<b>Emne:</b><br>
<input type="text" name="emne" value="<? echo $_POST[emne]; ?>"><br>

<i>Beskriv dit spørgsmål grundigt!</i><br>
<b>Spørgsmål:</b><br>
<textarea name="spg" rows="16" cols="81"><? echo $_POST[spg]; ?></textarea><br>

<input type="submit" value="Opret!">

</form>

<?php

if($_GET[mode] == "opret") {

if(
$_POST[navn] == "") {
echo(
"Du skal skrive dit navn!<br><br>");

} else {

if(
is_numeric($_POST[navn])) {
echo(
"Ingen tal i navnet!<br><br>");

} else {

if(
$_POST[emne] == "") {
echo(
"Du skal skrive et emne på dit spørgsmål!<br><br>");

} else {

if(
$_POST[spg] == "") {
echo(
"Du skal skrive dit spørgsmål!<br><br>");

} else {

if(
strlen($_POST[emne]) < "8") {
echo(
"Beskriv dit emne lidt bedre!<br><br>");

} else {

if(
strlen($_POST[spg]) < "20") {
echo(
"Beskriv dit spørgsmål bedre!<br><br>");

} else {

include(
"mysql/mysql.php");
$dato date("d/m/Y H:i:s");
$ip $_SERVER[REMOTE_ADDR];
$navn htmlspecialchars($_POST[navn]);
$emne htmlspecialchars($_POST[emne]);
$spg htmlspecialchars($_POST[spg]);
mysql_query("INSERT INTO forum (dato, ip, navn, emne, spg) VALUES ('$dato', '$ip',
'
$navn', '$emne', '$spg')") or die(mysql_error());
print 
"<meta http-equiv=\"refresh\" content=\"0; url=opretok.php\">";
}
}
}
}
}
}
}
?>

<script language="PHP">
include("from.php");
</script>

</body>

</html>

min verdi. er $uname i mit login system.



Dato : 15.02.2006, 15:22

Visninger : 693

Points : 0

 

Det er faktisk mig der har lavet forummet =]

Du kan gøre således:

<?
session_start
();

if(
session_is_registered("brugernavn") AND ("kodeord")) {

?>

<html> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
<title>Forum - Af Henrik Nielsen [www.Dounie.dk]</title> 
<link rel="stylesheet" href="CSS/default.css" type="text/css"> 

</head> 

<body oncontextmenu="return false" ondragstart="return false" onselectstart="return
false"> 

<? 
include("top.php"); 
?> 

<form action="opret.php?mode=opret" method="POST"> 

<b>Dit navn:</b><br> 
<input type="text" name="navn" value="<? echo $_SESSION[brugernavn]; ?>"
disabled="yes"><br> 

<b>Emne:</b><br> 
<input type="text" name="emne" value="<? echo $_POST[emne]; ?>"><br> 

<i>Beskriv dit spørgsmål grundigt!</i><br> 
<b>Spørgsmål:</b><br> 
<textarea name="spg" rows="16" cols="81"><? echo $_POST[spg]; ?></textarea><br> 

<input type="submit" value="Opret!"> 

</form> 

<?php 

if($_GET[mode] == "opret") { 

if(
$_POST[navn] == "") { 
echo(
"Du skal skrive dit navn!<br><br>"); 

} else { 

if(
is_numeric($_POST[navn])) { 
echo(
"Ingen tal i navnet!<br><br>"); 

} else { 

if(
$_POST[emne] == "") { 
echo(
"Du skal skrive et emne på dit spørgsmål!<br><br>"); 

} else { 

if(
$_POST[spg] == "") { 
echo(
"Du skal skrive dit spørgsmål!<br><br>"); 

} else { 

if(
strlen($_POST[emne]) < "8") { 
echo(
"Beskriv dit emne lidt bedre!<br><br>"); 

} else { 

if(
strlen($_POST[spg]) < "20") { 
echo(
"Beskriv dit spørgsmål bedre!<br><br>"); 

} else { 

include(
"mysql/mysql.php"); 
$dato date("d/m/Y H:i:s"); 
$ip $_SERVER[REMOTE_ADDR]; 
$navn htmlspecialchars($_POST[navn]); 
$emne htmlspecialchars($_POST[emne]); 
$spg htmlspecialchars($_POST[spg]); 
mysql_query("INSERT INTO forum (dato, ip, navn, emne, spg) VALUES ('$dato', '$ip',
'
$navn', '$emne', '$spg')") or die(mysql_error()); 
print 
"<meta http-equiv=\"refresh\" content=\"0; url=opretok.php\">"







?> 

<script language="PHP"> 
include("from.php"); 
</script> 

</body> 

</html> 

<?
} else {
echo(
"Du skal være logget ind for at skrive i forummet.");
}
?>

Husk at ændre sessions brugernavn hvis det f.eks. hedder user istedet.. =]


Dato : 14.02.2006, 18:09

Godkendt svar af : Henrik Nielsen  

 

har allerede et lille problem. det handler om (Du skal være logget ind for at skrive i
forummet)

der ser mit lidt anderledes ud, først skal den finde ud af om jeg enlig er logget på, 

<? 
session_start
();

include(
"config.php"); 
include(
"include/session.php");

if(isset(
$log_userid)) {

$sqllog=mysql_query(" SELECT  * FROM  ".$prefix."users WHERE userid='$log_userid'");

if(
$sqllog){ 
$num=mysql_num_rows($sqllog);
if(
$num==1){

while (
$sqllogg mysql_fetch_array($sqllog)) {
$usersession $sqllogg["userid"];
$usererank $sqllogg["rank"]; }
if(
$_SESSION["userid_log"] == $usersession) {

$sqllogta=mysql_query(" SELECT  * FROM  ".$prefix."users WHERE userid='$usersession' AND
rank = '
$usererank'");
while (
$sqllog2 mysql_fetch_array($sqllogta)) {
$uname $sqllog2["username"];
$u_ustatus $sqllog2["ustatus"];
$u_fcode $sqllog2["fcode"]; }

}}}}

?>
<?
if(isset($log_userid)) { 
if(
$_SESSION["userid_log"] == $usersession) {
if(
$_SESSION["u_fcode_log"] == $u_fcode) {
if(
$u_ustatus == 1) { 
?>

men får at dette virker skal jeg placere dette nede i bunden <?}}}}?>

og så hvis man er gæst er siden bare blank, jeg ved ikke hvordan jeg kan komme til at
kunne skrive en lille besked til dem.  

hele koden er her:
<? 
session_start
();

include(
"config.php"); 
include(
"include/session.php");

if(isset(
$log_userid)) {

$sqllog=mysql_query(" SELECT  * FROM  ".$prefix."users WHERE userid='$log_userid'");

if(
$sqllog){ 
$num=mysql_num_rows($sqllog);
if(
$num==1){

while (
$sqllogg mysql_fetch_array($sqllog)) {
$usersession $sqllogg["userid"];
$usererank $sqllogg["rank"]; }
if(
$_SESSION["userid_log"] == $usersession) {

$sqllogta=mysql_query(" SELECT  * FROM  ".$prefix."users WHERE userid='$usersession' AND
rank = '
$usererank'");
while (
$sqllog2 mysql_fetch_array($sqllogta)) {
$uname $sqllog2["username"];
$u_ustatus $sqllog2["ustatus"];
$u_fcode $sqllog2["fcode"]; }

}}}}

?>
<?
if(isset($log_userid)) { 
if(
$_SESSION["userid_log"] == $usersession) {
if(
$_SESSION["u_fcode_log"] == $u_fcode) {
if(
$u_ustatus == 1) { 
?>
<?
###det der er neden under dette bliver vist til medlemmer!
?>
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Forum - Af Henrik Nielsen [www.Dounie.dk]</title>
<link rel="stylesheet" href="CSS/default.css" type="text/css">

</head>

<body oncontextmenu="return false" ondragstart="return false" onselectstart="return
false">

<?
include("top.php");
?>

<form action="opret.php?mode=opret" method="POST">

<b>Dit navn:</b><br>
<input type="text" name="navn" value="<? echo $_POST[navn]; ?>"><br>

<b>Emne:</b><br>
<input type="text" name="emne" value="<? echo $_POST[emne]; ?>"><br>

<i>Beskriv dit spørgsmål grundigt!</i><br>
<b>Spørgsmål:</b><br>
<textarea name="spg" rows="16" cols="81"><? echo $_POST[spg]; ?></textarea><br>

<input type="submit" value="Opret!">

</form>

<?php

if($_GET[mode] == "opret") {

if(
$_POST[navn] == "") {
echo(
"Du skal skrive dit navn!<br><br>");

} else {

if(
is_numeric($_POST[navn])) {
echo(
"Ingen tal i navnet!<br><br>");

} else {

if(
$_POST[emne] == "") {
echo(
"Du skal skrive et emne på dit spørgsmål!<br><br>");

} else {

if(
$_POST[spg] == "") {
echo(
"Du skal skrive dit spørgsmål!<br><br>");

} else {

if(
strlen($_POST[emne]) < "8") {
echo(
"Beskriv dit emne lidt bedre!<br><br>");

} else {

if(
strlen($_POST[spg]) < "20") {
echo(
"Beskriv dit spørgsmål bedre!<br><br>");

} else {

include(
"mysql/mysql.php");
$dato date("d/m/Y H:i:s");
$ip $_SERVER[REMOTE_ADDR];
$navn htmlspecialchars($_POST[navn]);
$emne htmlspecialchars($_POST[emne]);
$spg htmlspecialchars($_POST[spg]);
mysql_query("INSERT INTO forum (dato, ip, navn, emne, spg) VALUES ('$dato', '$ip',
'
$navn', '$emne', '$spg')") or die(mysql_error());
print 
"<meta http-equiv=\"refresh\" content=\"0; url=opretok.php\">";
}
}
}
}
}
}
}
?>

<script language="PHP">
include("from.php");
</script>

</body>

</html>

<?}}}}?>





Dato : 14.02.2006, 20:27

Kommentar af : rudik  

 

Prøv at sætte dette ind:

}
}
}
} else {
echo "Du skal være logget ind for at skrive i forummet.";
}

altså der hvor du har
} } } } 

=]


Dato : 15.02.2006, 11:54

Kommentar af : Henrik Nielsen  

 

wee det virkede... ;) 

nu må du lige forklare mig en ting, hvordan kunne du lige vide at de skulle stå ned af på
den måde?

}
}
}


Et bette problem, ved rørende navne formlen, det virkede , NÆSTEN!
den sætter navnet ind, og gør sådan at man ikke kan skrive i boksen, men den siger (skriv
venligst dit navn) og det gør den ikke , hvis jeg fjerne disabled="yes">

linket ser sådan ud:

<b>Dit navn:</b><br>
<input type="text" name="navn" value="<? print $_POST[navn]; print ("$uname"); ?>"
disabled="yes"><br>


Dato : 15.02.2006, 13:50

Kommentar af : rudik  

 

jeg ved ikke hvad print $_POST[navn]; ? gør? der sker ikke en forskel når jeg sletter det?

Dato : 15.02.2006, 13:50

Kommentar af : rudik  

 

jeg ved ikke hvad print $_POST[navn]; ? gør? der sker ikke en forskel når jeg sletter det?

Dato : 15.02.2006, 13:54

Kommentar af : rudik  

 

Det er ligemeget hvordan } } } } står, jeg plejer bare at skrive det på den måde, for at
bedre kunne overskue det hele. Du kunne ligeså godt lave det sådan: } } } } else { echo
"du skal være logget ind for at skrive i forummet"; } Det er op til dig selv =].´

print $_POST[navn];
kan du bare slette, det gør sådan at hvis der er fejl, f.eks. hvis der ikke er udfyldt et
felt, så beholder den navnet osv. i boksen =].

I scriptet hvor der står:

if($_POST[navn] == "") { 
echo("Du skal skrive dit navn!<br><br>"); 

} else { 

if(is_numeric($_POST[navn])) { 
echo("Ingen tal i navnet!<br><br>"); 

} else { 

prøv at fjern det, det betyder intet, for en session- bruger har jo altid et brugernavn.

=]






Dato : 15.02.2006, 15:22

Kommentar af : Henrik Nielsen  

 

så må det vist være nok, tusinde tak for hjælpen, det hjalp mig rigtig meget!

Dato : 17.02.2006, 12:31

Kommentar af : rudik  

 

Tak for points =]

Dato : 17.02.2006, 15:27

Kommentar af : Henrik Nielsen  




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund