Avatar billede woogoo Nybegynder
06. juli 2003 - 16:43 Der er 55 kommentarer og
1 løsning

Navn reservering

Jeg vil gerne lave en tagwall.. men jeg vil gerne ha sådan at andre ik kan komme ind og skrive en tag med navnet: admin... hvordan kan jeg gøre så andre ikke kan det?

200 point til hurtigst svar der løser mit spørgsmål!
Avatar billede ahv Nybegynder
06. juli 2003 - 16:45 #1
if(strtolower($navn) == "admin") {
// Det navn kan du ikke skrive med :o)
Avatar billede ahv Nybegynder
06. juli 2003 - 16:46 #2
Altså du gør alle karakterene i variablen der indeholder navnet til småt med strtolower, denne variabel tjekker di så om den er lig med admin
Avatar billede woogoo Nybegynder
06. juli 2003 - 16:49 #3
hmm.... er sårn lidt n00b til PHP.. men hvis jeg nu gir dig tagwall koden... kan du så sætte den ind?
Avatar billede ahv Nybegynder
06. juli 2003 - 16:53 #4
Ja, send den til alexander_hv@hotmail.com
Avatar billede woogoo Nybegynder
06. juli 2003 - 16:55 #5
så er den sendt
Avatar billede ahv Nybegynder
06. juli 2003 - 17:01 #6
<? 
if($navn && $besked && strToLower($navn) != "admin") { 
$besked = ereg_replace( "<", "&lt;",$besked); 
$besekd = ereg_replace( ">", "&gt;",$besked); 
$fil =  "gbog.txt"; 
$tid = strftime( "%d %B %Y", getlastmod()+3600); 
$str  =  "<tr><td colspan=\"2\"><hr size=\"1\"></td></tr>\n<tr><td>$tid</td><td></tr>\n<tr><td>$navn</td></tr>\n<tr><td>Email: <a href=\"mailto:$email\">$email</a></td></tr>\n<tr><td>Url: <a href=\"$hjemmeside\">$hjemmeside</a></td></tr>\n<tr><td>IP: $REMOTE_ADDR</a></td></tr><tr><td colspan=\"2\">$besked</td></tr>\n"; 

$fp = fopen($fil, r); 
if($fp) { 
$filArray = file($fil); 
$result = implode( "", $filArray); 
$result =  "$str$result"; 
fclose($fp); 
} 
$fp = fopen($fil, w); 
if($fp) { 
fputs($fp, $result); 
fclose($fp); 
} 

header( "location: tagwall.php"); 
} 
?> 

<body bgcolor="black" text="white">

<h3>Tagwall</h3><center>
Skriv en kommentar tak!</center>
<form action="tagwall.php" method="post"> 
<table border="0" align="center"> 
<tr><td>Navn:</td><td><input type="text" class="textbox" name="navn"></td></tr> 
<tr><td>Email:</td><td><input type="text" class="textbox" name="email"></td></tr> 
<tr><td>URL:</td><td><input type="text" class="textbox" name="hjemmeside" value="http://"></td></tr> 
<tr><td colspan="2"><textarea name="besked" class="textbox" cols="35" rows="3"></textarea></td></tr> 
<tr><td colspan="2">
<input type="submit" class="button" name="skriv" value="Skriv"><br><br><table border="0" align="left"> 

<? 
readfile( "tagwall.txt"); 
?> 
</table> </td></tr> 
</table> 
</form>
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:01 #7
det ville være mere sikkert hvis et navn der INDEHOLDER "admin" m.m. forbydes:

if (preg_match ("/(admin|webmaster)$/i", $navn)) { echo "ugyldigt navn"; }
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:06 #8
ok.. den vil sige at hvis jeg vælger den anden mulighed.. så skal jeg bare bytte "if($navn && $besked && strToLower($navn) != "admin") {"  ud med "if (preg_match ("/(admin|webmaster)$/i", $navn)) { echo "ugyldigt navn"; }"??
Avatar billede ahv Nybegynder
06. juli 2003 - 17:06 #9
if($navn && $besked && !preg_match("/(admin|webmaster)$/i", $navn)) {
Avatar billede ahv Nybegynder
06. juli 2003 - 17:07 #10
if($navn && $besked && !preg_match("/(admin|webmaster)$/i", $navn))) {
Avatar billede ahv Nybegynder
06. juli 2003 - 17:07 #11
Kan ikke blive enig med mig selv ;o)

if($navn && $besked && !preg_match("/(admin|webmaster)$/i", $navn)) {
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:08 #12
ok... kigger lige om det virker!!
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:11 #13
hmm... nu kan jeg ikk rigtig selv skrive som admin?
Avatar billede ahv Nybegynder
06. juli 2003 - 17:12 #14
Nej, den spærre for alle admin navne.
Avatar billede stefan_jensen Nybegynder
06. juli 2003 - 17:12 #15
Du kan jo bare lave en side (som kun DU kender til) UDEN if(strtolower($navn) == "admin") {
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:13 #16
jamen.. hvad skal jeg så gøre hvis det kun er MIG der må.. kan man ikke gå ind og lave noget med noget IP.. (har fast IP)!!
Avatar billede ahv Nybegynder
06. juli 2003 - 17:13 #17
Skriv din IP så sætter jeg det ind så din ip kan. Eller skan vi lave den med kodeord.
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:15 #18
IP: 80.161.199.43.! men du må os gerne lave kodeord! bar start med at lave det til "password"!!
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:16 #19
jo..
if ($navn && $besked && (!preg_match("/(admin|webmaster)$/i", $navn) || $_SERVER['REMOTE_ADDR']=="din.ip.adresse")) {
Avatar billede ahv Nybegynder
06. juli 2003 - 17:19 #20
ohmish, ikke så hurtig ;o)
Avatar billede ahv Nybegynder
06. juli 2003 - 17:20 #21
Med kodeord på, udskift selv der hvor der står kodeord ->

<? 
if($navn && $besked && (!preg_match("/(admin|webmaster)$/i", $navn)) || $admin == "KODEORD")) {
$besked = ereg_replace( "<", "&lt;",$besked); 
$besekd = ereg_replace( ">", "&gt;",$besked); 
$fil =  "gbog.txt"; 
$tid = strftime( "%d %B %Y", getlastmod()+3600); 
$str  =  "<tr><td colspan=\"2\"><hr size=\"1\"></td></tr>\n<tr><td>$tid</td><td></tr>\n<tr><td>$navn</td></tr>\n<tr><td>Email: <a href=\"mailto:$email\">$email</a></td></tr>\n<tr><td>Url: <a href=\"$hjemmeside\">$hjemmeside</a></td></tr>\n<tr><td>IP: $REMOTE_ADDR</a></td></tr><tr><td colspan=\"2\">$besked</td></tr>\n"; 

$fp = fopen($fil, r); 
if($fp) { 
$filArray = file($fil); 
$result = implode( "", $filArray); 
$result =  "$str$result"; 
fclose($fp); 
} 
$fp = fopen($fil, w); 
if($fp) { 
fputs($fp, $result); 
fclose($fp); 
} 

header( "location: tagwall.php"); 
} 
?> 

<body bgcolor="black" text="white">

<h3>Tagwall</h3><center>
Skriv en kommentar tak!</center>
<form action="tagwall.php" method="post"> 
<table border="0" align="center">
<tr><td>Admin kodeord:</td><td><input type="text" class="admin" name="navn"></td></tr> 
<tr><td>Navn:</td><td><input type="text" class="textbox" name="navn"></td></tr> 
<tr><td>Email:</td><td><input type="text" class="textbox" name="email"></td></tr> 
<tr><td>URL:</td><td><input type="text" class="textbox" name="hjemmeside" value="http://"></td></tr> 
<tr><td colspan="2"><textarea name="besked" class="textbox" cols="35" rows="3"></textarea></td></tr> 
<tr><td colspan="2">
<input type="submit" class="button" name="skriv" value="Skriv"><br><br><table border="0" align="left"> 

<? 
readfile( "tagwall.txt"); 
?> 
</table> </td></tr> 
</table> 
</form>
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:21 #22
og det skal lige rettes til:

if ($navn && $besked && (!preg_match("/admin|webmaster/i", $navn) || $_SERVER['REMOTE_ADDR']=="din.ip.adresse")) {
Avatar billede stefan_jensen Nybegynder
06. juli 2003 - 17:21 #23
Hmm ved ikke noget noget om PHP så jeg står bare af vognen igen :)
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:22 #24
stefan> har du været på vognen da?
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:26 #25
ok.. så lige 1 sidste spørgsmål.. fordi.. nu kan alle og enhver jo gå ind og se mit password? Kan man ik gøre sådan at man ik kan det... (fx. mysql db eller noget andet?)
Avatar billede ahv Nybegynder
06. juli 2003 - 17:27 #26
Nej de kan ikke :o)
Avatar billede ahv Nybegynder
06. juli 2003 - 17:28 #27
Klienten kan ikke se serverkoden :o) Derfor kan du godt have passwordet der.
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:28 #28
har lige set en fejl.. når jeg går ind på min tagwall skriver den "Parse error: parse error, unexpected ')' in /STORE/woogoo_dk/public_html/GB/gbog.php on line 2"
Avatar billede ahv Nybegynder
06. juli 2003 - 17:30 #29
if($navn && $besked && (!preg_match("/(admin|webmaster)$/i", $navn)) || $admin == "KODEORD") {
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:30 #30
sådan:
if (( $navn && $besked && (!preg_match("/admin|webmaster/i", $navn) || $_SERVER['REMOTE_ADDR']=="din.ip.adresse")) {
Avatar billede ahv Nybegynder
06. juli 2003 - 17:30 #31
if($navn && $besked && (!preg_match("/(admin|webmaster)$/i", $navn) || $admin == "KODEORD")) {
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:30 #32
ahv> du famler vist i blinde? hehe..
Avatar billede ahv Nybegynder
06. juli 2003 - 17:31 #33
Argh ohmish, ikke så hurtig, ikke når vi har paranteser så bliver jeg sgu altis så forvirret!

ohmish har du ICQ eller MSN?
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:32 #34
jeg har mess. hvoff'?
Avatar billede ahv Nybegynder
06. juli 2003 - 17:32 #35
Hader de der paranteser ;o)
Avatar billede ahv Nybegynder
06. juli 2003 - 17:32 #36
Snik snakke med dig :o)

msn: alexander_hv@hotmail.com
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:33 #37
de er os' uoverskuelige når der er andre paranteser med i parantesen som indeholder en masse paranteser  :)
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:33 #38
hmm... har lige 1 problem.. nu kan den ik indsætte beskeden i min tagwall!??! den kommer ik frem i taggen!
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:37 #39
prøv at rette:

header( "location: tagwall.php"); 
} 
?> 

til:

header( "location: tagwall.php"); 
}  else { echo "hmmm. fejl"; }
?>
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:40 #40
bortset fra det.. så mangler du at lave lidt fejlbehandling.. hvis man f.eks ikke skriver sit navn osv.
Avatar billede ahv Nybegynder
06. juli 2003 - 17:42 #41
MIN fejl, havde ikke set de rvar en class på :o)

<tr><td>Admin kodeord:</td><td><input type="text" class="textbox" name="admin"></td></tr>
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:43 #42
ohmish kan du lave det? du får 100p?
Avatar billede ahv Nybegynder
06. juli 2003 - 17:44 #43
<? 
if($navn && $besked && (!preg_match("/(admin|webmaster)$/i", $navn) || $admin == "KODEORD")) {
    $besked = ereg_replace( "<", "&lt;",$besked); 
    $besekd = ereg_replace( ">", "&gt;",$besked); 
    $fil =  "gbog.txt"; 
    $tid = strftime( "%d %B %Y", getlastmod()+3600); 
    $str  =  "<tr><td colspan=\"2\"><hr size=\"1\"></td></tr>\n<tr><td>$tid</td><td></tr>\n<tr><td>$navn</td></tr>\n<tr><td>Email: <a href=\"mailto:$email\">$email</a></td></tr>\n<tr><td>Url: <a href=\"$hjemmeside\">$hjemmeside</a></td></tr>\n<tr><td>IP: $REMOTE_ADDR</a></td></tr><tr><td colspan=\"2\">$besked</td></tr>\n"; 
    $fp = fopen($fil, r); 
    if($fp) { 
        $filArray = file($fil); 
        $result = implode( "", $filArray); 
        $result =  "$str$result"; 
        fclose($fp); 
    } 
    $fp = fopen($fil, w); 
    if($fp) { 
        fputs($fp, $result); 
        fclose($fp); 
    } 
    header( "location: tagwall.php"); 
} 
?> 

<body bgcolor="black" text="white">

<h3>Tagwall</h3><center>
Skriv en kommentar tak!</center>
<form action="tagwall.php" method="post"> 
<table border="0" align="center">
<tr><td>Admin kodeord:</td><td><input type="text" class="textbox" name="admin"></td></tr> 
<tr><td>Navn:</td><td><input type="text" class="textbox" name="navn"></td></tr> 
<tr><td>Email:</td><td><input type="text" class="textbox" name="email"></td></tr> 
<tr><td>URL:</td><td><input type="text" class="textbox" name="hjemmeside" value="http://"></td></tr> 
<tr><td colspan="2"><textarea name="besked" class="textbox" cols="35" rows="3"></textarea></td></tr> 
<tr><td colspan="2">
<input type="submit" class="button" name="skriv" value="Skriv"><br><br><table border="0" align="left"> 

<? 
readfile( "tagwall.txt"); 
?> 
</table> </td></tr> 
</table> 
</form>
Avatar billede woogoo Nybegynder
06. juli 2003 - 17:49 #44
ohmish kan du lave sårn at hvis man ik indtaster navn og besked så kan den ik smide en tag, og hvis ik man indtaster hp eller og/eller e-mail så skal der stå ikke oplyst!
Avatar billede ohmish Nybegynder
06. juli 2003 - 17:51 #45
ja det kan jeg godt.. opretter du et nyt spørgsmål eller hvordan mener du?
Avatar billede exp Juniormester
06. juli 2003 - 17:52 #46
Du kunne også lave en reg.exp der checker om ordet admin indgår i det indtastede afsendernavn...
Avatar billede ahv Nybegynder
06. juli 2003 - 17:53 #47
Håndtering af fejl også den srkiver ikke oplyst hvis mail eller hjemmeside ikke er udfyldt ->

<? 
if ($skriv) {
    if (!$navn) $error['noname'] = "Intet navn";
    if (!$besked) $error['nomsg'] = "Ingen besked";
    if (preg_match("/(admin|webmaster)$/i", $navn) || $admin != "KODEORD") $error['admin'] = "Admin fejl";
    if (count($error) == 0) {
        if (!$hjemmeside) $hjemmeside = "ikke oplyst";
        if (!$email) $email = "ikke oplyst";
        $besked = ereg_replace( "<", "&lt;",$besked); 
        $besekd = ereg_replace( ">", "&gt;",$besked); 
        $fil =  "gbog.txt"; 
        $tid = strftime( "%d %B %Y", getlastmod()+3600); 
        $str  =  "<tr><td colspan=\"2\"><hr size=\"1\"></td></tr>\n<tr><td>$tid</td><td></tr>\n<tr><td>$navn</td></tr>\n<tr><td>Email: <a href=\"mailto:$email\">$email</a></td></tr>\n<tr><td>Url: <a href=\"$hjemmeside\">$hjemmeside</a></td></tr>\n<tr><td>IP: $REMOTE_ADDR</a></td></tr><tr><td colspan=\"2\">$besked</td></tr>\n"; 
        $fp = fopen($fil, r); 
        if($fp) { 
            $filArray = file($fil); 
            $result = implode( "", $filArray); 
            $result =  "$str$result"; 
            fclose($fp); 
        } 
        $fp = fopen($fil, w); 
        if($fp) { 
            fputs($fp, $result); 
            fclose($fp); 
        } 
        header( "location: tagwall.php"); 
    } else {
        foreach ($error as $name => $value) {
            echo $value."<br>";
        }
    }
}
?> 

<body bgcolor="black" text="white">

<h3>Tagwall</h3><center>
Skriv en kommentar tak!</center>
<form action="tagwall.php" method="post"> 
<table border="0" align="center">
<tr><td>Admin kodeord:</td><td><input type="text" class="textbox" name="admin"></td></tr> 
<tr><td>Navn:</td><td><input type="text" class="textbox" name="navn"></td></tr> 
<tr><td>Email:</td><td><input type="text" class="textbox" name="email"></td></tr> 
<tr><td>URL:</td><td><input type="text" class="textbox" name="hjemmeside" value="http://"></td></tr> 
<tr><td colspan="2"><textarea name="besked" class="textbox" cols="35" rows="3"></textarea></td></tr> 
<tr><td colspan="2">
<input type="submit" class="button" name="skriv" value="Skriv"><br><br><table border="0" align="left"> 

<? 
readfile( "tagwall.txt"); 
?> 
</table> </td></tr> 
</table> 
</form>
Avatar billede ahv Nybegynder
06. juli 2003 - 17:56 #48
if (preg_match("/(admin|webmaster)$/i", $navn) && $admin != "KODEORD") $error['admin'] = "Admin fejl";
Avatar billede ohmish Nybegynder
06. juli 2003 - 18:00 #49
ahv> du glemmer at bruge den rigtige preg_match..
og hvorfor ikke bruge { klammer } ?

if (preg_match("/admin|webmaster/i", $navn) && $admin != "KODEORD") { $error['admin'] = "Admin fejl"; }
Avatar billede ahv Nybegynder
06. juli 2003 - 18:02 #50
Klammerne, fordi det ikke er nødvendigt når der kun skal køres en kommando.
Avatar billede ohmish Nybegynder
06. juli 2003 - 18:09 #51
hmm løjerlig pointfordeling.. men selv tak
Avatar billede ohmish Nybegynder
06. juli 2003 - 18:11 #52
har fået 100 point alligevel (et nyt spørgsmål). godt så :)
Avatar billede ohmish Nybegynder
06. juli 2003 - 18:15 #53
og dog.. nej, ikke godt så.
woogoo> jeg gider ikke bruge mere tid på det her hvis du ikke engang kan fordele point rimeligt.. du bruger jo mine indlæg herfra gør du ikke?
Avatar billede exp Juniormester
06. juli 2003 - 19:38 #54
og hvad med mit forslag om reg.exp?
Avatar billede ohmish Nybegynder
07. juli 2003 - 00:32 #55
exp> mener du noget i stil med det jeg skrev:
if (preg_match ("/(admin|webmaster)$/i", $navn)) { echo "ugyldigt navn"; }
Avatar billede exp Juniormester
07. juli 2003 - 11:03 #56
jep - havde ikke set det stod tidligere i tråden ;-)
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