FlowerEye Skrevet 6. januar 2008 Del Skrevet 6. januar 2008 Jeg ønsker veldig gjerne et script som automatisk legger inn navn i en database. Det er en stor fordel med sperre for diverse vulgære navn (dette spesifiseres vel i scriptet?) og det er også fint om det har en sperre for allerede innsendte navn. Altså, hvis navnet Per allerede er i databasen, så kan det ikke bli lagt inn på nytt. Jeg ønsker også pagination funksjonen på dette For eksempel 30 navn pr. rekke, og 3 rader pr. side. Jeg bruker nå noe lignende, men dette er i flatfil, og det gir begrensede muligheter. Jeg skulle gjerne ha laget dette selv, men jeg har rett og slett ikke kompetansen til det, selvom jeg har prøvd. Jeg ville derfor satt stor pris på om noen kunne ha hjulpet meg med dette. Lenke til kommentar
trrunde Skrevet 6. januar 2008 Del Skrevet 6. januar 2008 søk på f.eks hotscript.com etter et registrerings script... med disse kan du legge inn navn og du får opp beskjed om navnet/brukernavn er opptatt, kan helt sikkert modifiseres til ditt bruk Lenke til kommentar
NorskFirefox Skrevet 6. januar 2008 Del Skrevet 6. januar 2008 Kan du noe i det heletatt selv? Eller ber du om et helt skript gratis? Hvis du kan litt selv så kan vi hjelpe, men er færre som har tid til å lage et helt skript gratis. Lenke til kommentar
FlowerEye Skrevet 6. januar 2008 Forfatter Del Skrevet 6. januar 2008 (endret) Vel, noe kan jeg, men jeg er ikke spesielt flink. Kan nok modifisere noe, og lage helt, veldig enkle ting. Men kunne jeg gjort dette selv, så ville jeg så absolutt gjort det Hvis noen vil ha betaling for dette, hvor mye er det snakk om da? Jeg har minimalt med penger for tiden og lever på et stramt budsjett, men om det er penger som skal til for at noen skal hjelpe, så so be it. Endret 6. januar 2008 av FlowerEye Lenke til kommentar
FlowerEye Skrevet 6. januar 2008 Forfatter Del Skrevet 6. januar 2008 Jeg gir denne en liten bump jeg. Lenke til kommentar
FlowerEye Skrevet 7. januar 2008 Forfatter Del Skrevet 7. januar 2008 Hvis ingen har noe å komme med, håper jeg på litt hjelp likevel. Jeg trenger en php kode som ikke tillater å skrive inn et navn i en flatfil (tekstfil) mer enn en gang. Lenke til kommentar
grimjoey Skrevet 7. januar 2008 Del Skrevet 7. januar 2008 (endret) <?php $filnavn = 'filnavn'; $navn = 'navn'; $f = file_get_contents( $filnavn ); $fa = explode( "\n", $f ); if ( in_array( $navn, $fa ) ) die( 'Navn finnes allerede!' ); ?> edit: forutsetter at det kun er et navn per linje og kun navnet uten ekstra tegn. har forresten begynnt på et script til deg. er foreløpig på 199 linjer. skriver litt innimellom når jeg kjeder meg. det mangler et par funksjoner og litt feilsøking før det er ferdig. Endret 7. januar 2008 av grimjoey Lenke til kommentar
FlowerEye Skrevet 7. januar 2008 Forfatter Del Skrevet 7. januar 2008 Takk for svar Satt det opp sånn som dette, men det funker dessverre ikke. <?php $filnavn = 'dyrenavn.txt'; $navn = 'navn'; $f = file_get_contents( $filnavn ); $fa = explode( "\n", $f ); if ( in_array( $navn, $fa ) ) die( 'Navn finnes allerede!' ); $side = "side/hestenavn.php"; // Full link til denne siden $filnavn = "dyrenavn.txt"; // Navn på fila hvor navnene skal lagres $feil = false; if ($navn = $_POST['navn']) { if (preg_match("/[A-Za-zæøåÆØÅ40]/", $navn)) { $f = fopen($filnavn, "a+"); fwrite($f, $navn."\r\n"); fclose($f); } else { $feil = "Du bruke ugyldige tegn..."; } } ?> <form action="<?php echo $side ?>" method="post"> Navn: <input type="text" name="navn"> <input type="submit" value="Send inn navn"> </form> <?php if ($feil) { echo '<span style="color: red">'.$feil.'</span>'; } $file = file_get_contents($filnavn); $navn = explode("\r\n", $file); sort($navn); echo '<ul>'; foreach($navn as $n) { if ($n != "") { echo '<li>'.$n."</li>\r\n"; } } echo '</ul>'; ?> <?php $filnavn = 'filnavn'; $navn = 'navn'; $f = file_get_contents( $filnavn ); $fa = explode( "\n", $f ); if ( in_array( $navn, $fa ) ) die( 'Navn finnes allerede!' ); ?> edit: forutsetter at det kun er et navn per linje og kun navnet uten ekstra tegn. har forresten begynnt på et script til deg. er foreløpig på 199 linjer. skriver litt innimellom når jeg kjeder meg. det mangler et par funksjoner og litt feilsøking før det er ferdig. Fantastisk! Hva vil du ha i gjengjeld? Lenke til kommentar
grimjoey Skrevet 8. januar 2008 Del Skrevet 8. januar 2008 du bør sette inn koden min etter if ($navn = $_POST['navn']) og fjern linjen $navn = 'navn'; mulig du må bytte ut explode("\n", $f ) med explode( "\r\n", $f ) du kan og bytte ut koden i form action fra: <?php echo $side ?> til: <?php echo $_SERVER['PHP_SELF'] ?> den vil bli riktig selv om du bytter filnavn. da kan du også fjerne $side = '....' eller bare sett $side = $_SERVER['PHP_SELF']; om du foretrekker det. Lenke til kommentar
FlowerEye Skrevet 9. januar 2008 Forfatter Del Skrevet 9. januar 2008 Jepp, der funker det Men skulle fortsatt hatt noe paging opplegg, og navnesperre. Lenke til kommentar
grimjoey Skrevet 10. januar 2008 Del Skrevet 10. januar 2008 <?php $mysql_host = ''; $mysql_username = ''; $mysql_password = ''; $databasenavn = 'navn'; $tabellnavn = 'navn'; $listerader = 30; $listekolonner = 3; $limitpagination = 10; // funksjoner function my_get ($sql, $i = 0) { if ($i > 0) { echo $sql; return TRUE; } if (stripos ($sql, 'SELECT') !== FALSE) { $out = Array(); $res = mysql_query ($sql) or die(mysql_error ()); while ($row = mysql_fetch_assoc($res)) { $out[] = $row; } return $out; } else { mysql_query ($sql) or die (mysql_error ()); return TRUE; } } function my_esc ($msg) { if (!is_numeric ($msg)) { if (get_magic_quotes_gpc ()) $msg = stripslashes($msg); $msg = "'".mysql_real_escape_string ($msg)."'"; } return $msg; } function check_var ($var, $type = 0) { if ($type === 0) $type =& $_POST; else $type =& $_GET; if (isset ($type[$var]) && !empty ($type[$var])) return TRUE; else return FALSE; } // databasetilkobling $dblink = mysql_connect ($mysql_host, $mysql_username, $mysql_password) or die (mysql_error ()); if (!mysql_select_db ($databasenavn)) { mysql_query ('CREATE DATABASE '.$databasenavn.';'); // databasen eksisterer ikke - prøver å lage mysql_select_db ($databasenavn) or die (mysql_error()); // prøver å koble til igjen, feilmelding når det mislykkes. } if (!mysql_query('DESCRIBE '.$tabellnavn.';')) { // lag tabellene dersom de ikke eksisterer $tabell[$tabellnavn] = '(id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, navn VARCHAR(50))'; $tabell[$tabellnavn.'_anti'] = '(id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, navn VARCHAR(50))'; foreach ($tabell as $k => $v) { mysql_query('CREATE TABLE '.$k.' '.$v.';'); } } // logikk og utdata if (check_var ('submit_name')) { check_var ('name') or die('Navn var ikke fylt ut!'); $rows = my_get ('SELECT navn FROM '.$tabellnavn.';'); foreach ($rows as $row) { if (stripos ($_POST['name'], $row['navn']) !== FALSE) die('Navn eksisterer allerede.'); } $rows = my_get ('SELECT navn FROM '.$tabellnavn.'_anti;'); foreach ($rows as $row) { if (stripos ($_POST['name'], $row['navn']) !== FALSE) die('Ulovlig navn!'); } my_get ('INSERT INTO '.$tabellnavn.'(navn) VALUES('.my_esc ($_POST['name']).');'); header('Location: '.$_SERVER['PHP_SELF']); } elseif (check_var ('submit_badname')) { check_var ('badname') or die('Ulovlig ord var ikke fylt ut!'); my_get ('INSERT INTO '.$tabellnavn.'_anti(navn) VALUES('.my_esc ($_POST['badname']).');'); header('Location: '.$_SERVER['PHP_SELF']); } elseif (check_var ('submit_editname')) { check_var ('id') or die('Id kom ikke med!'); check_var ('name') or die('Navn feltet var tomt!'); $rows = my_get ('SELECT navn FROM '.$tabellnavn.'_anti;'); foreach ($rows as $row) { if (strpos ($row['navn'], $_POST['name'])) die('Ulovlig navn!'); } my_get ('UPDATE '.$tabellnavn.' SET navn = '.my_esc ($_POST['name']).' WHERE id = '.(int)$_POST['id'].';'); header('Location: '.$_SERVER['PHP_SELF']); } elseif (check_var ('submit_editbadname')) { check_var ('id') or die('Id kom ikke med!'); check_var ('badname') or die('Ulovlig navn feltet var tomt!'); my_get ('UPDATE '.$tabellnavn.'_anti SET navn = '.my_esc ($_POST['badname']).' WHERE id = '.(int)$_POST['id'].';'); header('Location: '.$_SERVER['PHP_SELF']); } elseif (check_var ('submit_delname')) { check_var ('id') or die('Id kom ikke med!'); check_var ('name') or die('Navn feltet var tomt!'); my_get ('DELETE FROM '.$tabellnavn.' WHERE id = '.(int)$_POST['id'].';'); header('Location: '.$_SERVER['PHP_SELF']); } elseif (check_var ('submit_delbadname')) { check_var ('id') or die('Id kom ikke med!'); check_var ('name') or die('Ulovlig navn feltet var tomt!'); my_get ('DELETE FROM '.$tabellnavn.'_anti WHERE id = '.(int)$_POST['id'].';'); header('Location: '.$_SERVER['PHP_SELF']); } if (!isset ($_GET['action'])) $_GET['action'] = 'list'; $outhtml = '<html><head><title></title></head><body>'; if (isset ($_GET['action']) && !strcmp ($_GET['action'], 'list')) { /////////////// ACTION=list PAGE=x if (isset ($_GET['page'])) $page = (int)$_GET['page']; else $page = 1; $total = my_get ('SELECT COUNT(id) FROM '.$tabellnavn.';'); $navn = my_get ('SELECT navn FROM '.$tabellnavn.' LIMIT '.($page - 1).', '.($listerader * $listekolonner).';'); for ($i = 0; $i < $listekolonner; $i++) { $outhtml .= '<div style="float: left;">'; for ($j = 0; $j < $listerader; $j++) { if (isset ($navn[($i * $listerader) + $j]['navn'])) $outhtml .= '<p style="margin-top: 0px; margin-bottom: 0px;"><a href="'.$_SERVER['PHP_SELF'].'?action=editname&id='.(($i * $listerader) + $j + 1).'">'.$navn[($i * $listerader) + $j]['navn'].'</a></p>'; // TODO: lage link for edit else break; } $outhtml .= '</div>'; } $outhtml .= '<div style="clear: left;"></div>'; $pages = ceil((float)$total[0] / ((float)$listerader * (float)$listekolonner)); if ($pages > 3) { $outhtml .= '<div>'; /////////////////////////////////////////////////////////////// PAGINATION if ($page > 1) $outhtml .= '<a href="'.$_SERVER['PHP_SELF'].'?action=list&page='.($page - 1).'">prev</a>'; for ($k = 1; $k <= $pages; $k++) { if ($k == $limitpagination) break; if ($k == $page) $outhtml .= $k.' '; else $outhtml .= '<a href="'.$_SERVER['PHP_SELF'].'?action=list&page='.$k.'">'.$k.'</a> '; } if ($page < $pages) $outhtml .= '<a href="'.$_SERVER['PHP_SELF'].'?action=list&page='.($page + 1).'">next</a>'; $outhtml .= '</div>'; } } elseif (isset ($_GET['action']) && !strcmp ($_GET['action'], 'badlist')) { $badnames = my_get('SELECT id, navn FROM '.$tabellnavn.'_anti;'); $outhtml .= '<div>'; foreach ($badnames as $bname) { $outhtml .= '<p style="margin-top: 0px; margin-bottom: 0px;"><a href="'.$_SERVER['PHP_SELF'].'?action=editbadname&id='.(int)$bname['id'].'">'.$bname['navn'].'</a></p>'; } $outhtml .= '</div>'; } elseif (isset ($_GET['action']) && !strcmp ($_GET['action'], 'addname')) { /////// ACTION=addname $outhtmltmp = <<< EOT <form action="" method="post"> <input type="text" name="name" /> <input type="submit" name="submit_name" value="Legg til navn" /> </form> EOT; $outhtml .= $outhtmltmp; } elseif (isset ($_GET['action']) && !strcmp ($_GET['action'], 'addbadname')) { ///// ACTION=addbadname $outhtmltmp = <<< EOT <form action="" method="post"> <input type="text" name="badname" /> <input type="submit" name="submit_badname" value="Legg til ulovlig ord" /> </form> EOT; $outhtml .= $outhtmltmp; } elseif (isset ($_GET['action']) && !strcmp ($_GET['action'], 'editname')) { /////// ACTION=editname ID=x check_var('id', 1) or die('Mangler id!'); $id = (int)$_GET['id']; $rows = my_get ('SELECT navn FROM '.$tabellnavn.' WHERE id = '.$id.';'); $name = $rows[0]['navn']; $outhtmltmp = <<< EOT <form action="" method="post"> <input type="hidden" name="id" value="$id" /> <input type="text" name="name" value="$name" /> <input type="submit" name="submit_editname" value="Lagre navn" /> <input type="submit" name="submit_delname" value="Slett navn" /> </form> EOT; $outhtml .= $outhtmltmp; } elseif (isset ($_GET['action']) && !strcmp ($_GET['action'], 'editbadname')) { ///// ACTION=editbadname ID=x check_var('id', 1) or die('Mangler id!'); $id = (int)$_GET['id']; $rows = my_get ('SELECT navn FROM '.$tabellnavn.'_anti WHERE id = '.$id.';'); $name = $rows[0]['navn']; $outhtmltmp = <<< EOT <form action="" method="post"> <input type="hidden" name="id" value="$id" /> <input type="text" name="name" value="$name" /> <input type="submit" name="submit_editbadname" value="Lagre ulovlig ord" /> <input type="submit" name="submit_delbadname" value="Slett ord" /> </form> EOT; $outhtml .= $outhtmltmp; } $outhtml .= '<div><br />'; if (strcmp($_GET['action'], 'list')) $outhtml .= '<a href="'.$_SERVER['PHP_SELF'].'?action=list">Liste navn</a> - '; if (strcmp($_GET['action'], 'badlist')) $outhtml .= '<a href="'.$_SERVER['PHP_SELF'].'?action=badlist">Liste ulovlige ord</a> - '; if (strcmp($_GET['action'], 'addname')) $outhtml .= '<a href="'.$_SERVER['PHP_SELF'].'?action=addname">Legge til navn</a> - '; if (strcmp($_GET['action'], 'addbadname')) $outhtml .= '<a href="'.$_SERVER['PHP_SELF'].'?action=addbadname">Legge til ulovlig ord</a> - '; $outhtml = substr($outhtml, 0, -3); $outhtml .= '</div>'; print $outhtml; ?> Er ikke helt ferdig med testingen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå