Dryper Skrevet 24. juni 2008 Del Skrevet 24. juni 2008 Ja den var litt unødvendig Ikke vet jeg av hva som ligger her av Annenhver farge på tabell (Mysql ) men nå poster jeg min løsning. $color = "1"; $result = mysql_query("SELECT * FROM tabell") or die(mysql_error()); while ($rad = mysql_fetch_array($result)){ if ($color == "1"){ echo "<tr bgcolor='#C0C0C0'><td>Grå</td></tr>"; $color = "2"; }else { echo "<tr bgcolor='#FFFFFF'><td>Hvit</td></tr>"; $color = "1"; } } echo "</table>"; Lenke til kommentar
Jonas Skrevet 24. juni 2008 Del Skrevet 24. juni 2008 Ja den var litt unødvendig Hva gjør din kode mer nødvendig? En if-setning er ikke stort mer enn enkel bruk av standard funksjoner. I tillegg er utførelsen lite elegant, det kan gjøres mye bedre. Du er heller ikke konsekvent med indetering og generell kode-formatering, og det gjør at ikke noe av koden din kan brukes av andre, noe som strider litt med poenget å poste i denne tråden. $c = 0; $result = mysql_query ( 'SELECT my_column FROM table' ); while ( $row = mysql_fetch_array ( $result ) ) echo '<tr style="background: #' . ( $c++ % 2 == 0 ? 'C0C0C0' : 'ffffff' ) . ';"><td>' . $row['my_column'] . '</td></tr>'; Lenke til kommentar
Thomas. Skrevet 24. juni 2008 Del Skrevet 24. juni 2008 (endret) Ja den var litt unødvendig Hva gjør din kode mer nødvendig? En if-setning er ikke stort mer enn enkel bruk av standard funksjoner. I tillegg er utførelsen lite elegant, det kan gjøres mye bedre. Du er heller ikke konsekvent med indetering og generell kode-formatering, og det gjør at ikke noe av koden din kan brukes av andre, noe som strider litt med poenget å poste i denne tråden. $c = 0; $result = mysql_query ( 'SELECT my_column FROM table' ); while ( $row = mysql_fetch_array ( $result ) ) echo '<tr style="background: #' . ( $c++ % 2 == 0 ? 'C0C0C0' : 'ffffff' ) . ';"><td>' . $row['my_column'] . '</td></tr>'; Et spørsmål: Hva betyr dette? ' . ( $c++ % 2 == 0 ? 'C0C0C0' : 'ffffff' ) . ' Endret 24. juni 2008 av php_user Lenke til kommentar
Jonas Skrevet 24. juni 2008 Del Skrevet 24. juni 2008 Det betyr at dersom tall-verdien til $c er delelig på to - returner C0C0C0 - hvis ikke; ffffff. Lenke til kommentar
Dryper Skrevet 25. juni 2008 Del Skrevet 25. juni 2008 Jeg la nå bare koden til jeg så fantes det nå verfall noe å velge i.. Lenke til kommentar
OISNOT Skrevet 1. juli 2008 Del Skrevet 1. juli 2008 Et spørsmål: Hva betyr dette? ' . (++$c % 2 ? 'C0C0C0' : 'ffffff' ) . ' Det er en ternary if-then-else http://no2.php.net/manual/en/language.oper....comparison.php med modulus av 2 http://mathforum.org/library/drmath/view/55771.html. Så 7 % 4 = 3. 11 % 4 = 3. Så hver fjerde gang vil det ikke være rest med 4, hver femte gang med 5, etc. ' . ( ++$c % 4 ? 'C0C0C0' : 'ffffff' ) . ' Først 3 med C0C0C0 så 1 med ffffff så 3 med C0C0C0 igjen etc. ' . ( $c++ % 4 ? 'C0C0C0' : 'ffffff' ) . ' Først 1 med ffffff så 3 med C0C0C0 så 1 med ffffff igjen etc. while ($c++) { switch ($c % 4) { case 1:... break; case 2:... break; case 3:... break; //case 0: default: ... break; } } Lenke til kommentar
Jonas Skrevet 1. juli 2008 Del Skrevet 1. juli 2008 Dersom du skal ha flere fargealternativer enn to er det langt bedre med lur bruk av arrays enn en switch statement. <?php $colors = array ( '#000000', '#ff0000', '#00ff00', '#0000ff', '#ffffff' ); while ( $c < 100 ) echo $colors[$c++ % count ( $colors )] . "\n"; ?> Lenke til kommentar
creAtiive Skrevet 8. august 2008 Del Skrevet 8. august 2008 (endret) Administrator system. Innlogging: <?php session_start(); ob_start(); if($_SESSION['admins']) { ?> <?php if($_POST['uts']) { if(!isset($_SESSION['admins'])) echo "du er ikke logget inn"; else { echo "du er nå logget ut"; $_SESSION['admins'] = false; }} ?> <br> <form action="?x=<?php echo $URLside; ?>" method="post"> <input type="submit" name="uts" value=" du er allerede logget inn å kan da kun logge logg ut "> </form> <?php } else{ ?> <?php if (isset($_POST['log'])) { ////////////////////////////////////////////////////////////////////// $adminpass = "ADMIN PASSORDET HER"; ////////////////////////////////////////////////////////////////////// $ps = trim($_POST['pass']); if(empty($ps)) echo "du fylte ikke inn passord"; else { session_start(); if($ps == "$adminpass") { $_SESSION['admins'] = true; echo "Du er nå logget inn!"; } else echo "du skrev inn feil passord"; } } else { ?> Passord:<br /> <form action="?x=<?php echo $URLside; ?>" method="post"> <input type="password" name="pass" /><input type="submit" name="log" value=" ok " /><br /> </form> <br /> <?php } } ?> Bruk: if($_SESSION['admins']) { // innhold for admin her } Endret 8. august 2008 av creAtiive Lenke til kommentar
Jonas Skrevet 8. august 2008 Del Skrevet 8. august 2008 (endret) WOW - verste kodesuppa postet her på lenge. Tar meg frihet til å kommentere siden du valgte å poste den. * Du blander sammen PHP og HTML * Du er ikke konsekvent når du koder * Absolutt ingen indetering gjør at ingen i det hele tatt vil vurdere å lese den I tillegg har du en hel haug med små-feil man ikke forventer å se i kode som deles, bla.: * Dårlige variabel-navn * Trim på passord? * Henting av login-info fra en statisk variabel * Ingen brukernavn * ob_start() skal ikke bruker slik du bruker den Det der kunne du virkelig holdt for deg selv. Vil heller ikke kalle dette et administrasjonssystem, heller et primitivt login-script. Endret 8. august 2008 av Jonas Lenke til kommentar
creAtiive Skrevet 8. august 2008 Del Skrevet 8. august 2008 (endret) WOW - verste kodesuppa postet her på lenge. Tar meg frihet til å kommentere siden du valgte å poste den. * Du blander sammen PHP og HTML * Du er ikke konsekvent når du koder * Absolutt ingen indetering gjør at ingen i det hele tatt vil vurdere å lese den I tillegg har du en hel haug med små-feil man ikke forventer å se i kode som deles, bla.: * Dårlige variabel-navn * Trim på passord? * Henting av login-info fra en statisk variabel * Ingen brukernavn * ob_start() skal ikke bruker slik du bruker den Det der kunne du virkelig holdt for deg selv. Vil heller ikke kalle dette et administrasjonssystem, heller et primitivt login-script. Du vet alt du ? - Si meg, hva kunne skjed feil i det scriptet? Og en ting til: Kan ikke du holde kommentarene dine for deg selv? Endret 8. august 2008 av creAtiive Lenke til kommentar
Jonas Skrevet 8. august 2008 Del Skrevet 8. august 2008 (endret) Du vet alt du ? Om ikke annet, så vet jeg i hvert fall vesentlig mer enn deg innenfor det gitte emne. Og nei - jeg klarer ikke å holde kommentarene mine for meg selv. Denne tråden er for koder som kan være nyttig for andre og det du postet er ikke godt for fem blanke øre, ærlig talt. Ikke at jeg ønsker å begrense deling av kode på forumet; for all del, denne tråden kan være utrolig nyttig, men ting som administrasjonspanel burde være en smule mer sofistikert og sikkert. Endret 8. august 2008 av Jonas Lenke til kommentar
Peter Skrevet 9. august 2008 Del Skrevet 9. august 2008 Jeg er helt enig med Jonas. Altså, denne tråden heter jo "PHP kode som andre kanskje andre kan bruke", men jeg håper jo at alle sier "nei takk" når de ser den suppen der. Fint at folk har lyst til å dele kode, men da burde du faktisk ha en viss peiling på hva du driver med. Å dele kode etter første uka med "PHP for dummies" (e.l.) minner enten om total mangel på selvinnsikt, eller total arroganse. Dessverre (og nå tråkker jeg på mange tær samtidig) er kvaliteten på koden i hele denne tråden relativt dårlig. Det er noen lysglimt innimellom, men stort sett kommer det bare en uoversiktlig suppe. Stort sett kan man stille seg et spørsmål, som har to muligheter, og det vil allerede luke ut det meste av koden i denne tråden. Er koden et fullverdig program, eller bare en kodesnutt: Program) Programmet burde distribueres som en zip, med oversiktlig kode og dokumentasjon. Logikk burde være adskilt fra presentasjon. Kodesnutt) Koden din burde ikke inneholde presentasjon, den burde være en eller flere funksjoner som returnerer en struktur man kan bruke videre. En funksjon burde være så liten at den kan forklares med èn setning. (Dette var en veldig kort oppsummering. Jeg kunne skrevet side opp og side ned om temaet.) Lenke til kommentar
AlecTBM Skrevet 9. august 2008 Del Skrevet 9. august 2008 (endret) Ja da var jeg endelig ferdig med versjon 2.0 av et mini-community "script" jeg har. Skal nevnes at 2.0 blir den første versjonen som jeg har gjort klar til å brukes av andre enn meg selv. Det mangler foreløpig README fil, men dette kommer nok snart. http://alexander.no-ip.org/script/mini-community/ I disse så er alle meldinger på norsk. Det kommer også (så snart jeg er ferdig) en versjon der hvor meldingene er på engelsk. Håper noen tar i bruk scriptet, det har vist seg å fungere utmerket på mindre grupper, felleskjøpet av Neo FreeRunner bruker denne siden (Vi kjører riktig nok versjon 2.0-2 da, noen spesial ting der). Alle meldinger ligger i .msg.php (Disse kommer i database i neste versjon) De fleste (om ikke alle) verdiene ligger i .values.php Siden bruker mySQL Og for en kjapp install: Kjør mini-community2.0.sql Kopier mini-community mappa inn i www mappen din på servern. Endre brukernavn og passord i .config.php Også er du oppe. Registrer deg og gå inn i tabellen users Sett valid til 1 og admin til 1 Logg inn Tada, da skal du være ferdig. Ønsker du å fjerne validering av brukere. Gå til .values.php Endre verdien i $uservalidation til 0 Ønsker du å fjerne validering av oppslagstavle oppføringer som blir skrevet av vanlige brukere. Endre verdien i $validation til 0 Og hvis du ønsker et annet dato format enn "d-m-Y H:i" Endre dette i funksjonen datformat() i .values.php Ellers så er det litt annet små tweeking i .values.php Prøv deg fram, skal skrive en readme så snart jeg er ferdig med oversettelsen. Og en ting til Trenger du hjelp, send en PM til meg (IKKE MAIL) Hvis du vil hjelpe, så er det bare å ta kontakt (da er mail lov) Ellers så er det bare å kommentere så mye du vil. Forslag til endringer eller ting som burde fjernes/legges til, send det til meg. Og varsle om bugs. EDIT: La til filene her også EDIT2: Skal også nevnes at jeg ikke er en designer Og mottoet for denne sia er: Det enkle er ofte det beste mini_community2.0_norsk.zip mini_community2.0_norsk.tar.gz Endret 9. august 2008 av AlecTBM Lenke til kommentar
Lokaltog Skrevet 9. august 2008 Del Skrevet 9. august 2008 *sukk* Som nevnt lenger opp her er det bra at det deles kode. Men for å sitere Peter: Fint at folk har lyst til å dele kode, men da burde du faktisk ha en viss peiling på hva du driver med. Å dele kode etter første uka med "PHP for dummies" (e.l.) minner enten om total mangel på selvinnsikt, eller total arroganse. Når det gjelder community-opplegget til AlecTBM, så er dette nok et eksempel på laber kodekvalitet, og et script som jeg mener ikke hører hjemme i denne tråden. Communitysiden fungerer sikkert fint, men jeg vil anbefale andre å bruke et litt mer gjennomtenkt opplegg, selv for veldig små communities. Koden bærer preg av mangel på kompetanse hos programmereren (altså... while($select12 = mysql_fetch_array($select11)) - skaff deg et rammeverk, det er bare latterlig upraktisk å gjøre det på denne måten) og hele opplegget ser generelt lite fleksibelt ut. Det kan hende det funker bra out-of-the-box, men slike script synes jeg det er unødvendig å poste her. Med "PHP-kode som andre kanskje kan bruke", så forventer jeg noe sånt som: En god løsning på et problem mange kommer borti (zebra rows i tabeller, regulære uttrykk for å utføre bestemte oppgaver, etc.). En nyttig funksjon eller script som kan brukes as-is i en eksisterende applikasjon (hash/salt-funksjoner, tilfeldig passord-funksjoner, etc.). Fullstendige klasser og funksjoner som enkelt kan implementeres i en eksisterende applikasjon (en databaseklasse, brukerhåndtering, templating, RSS-parsere, caching, etc.). Forutsetningen fra alle punktene ovenfor er at koden faktisk funker, at den er er skrevet på en ryddig måte og at den er enkel å ta i bruk. Med "PHP-kode som ikke hører hjemme i denne tråden", så tenker jeg på f.eks.: Et helt communitynettsted som kun kan brukes for seg selv og ikke implementeres i eksisterende applikasjoner. Et adminpanel som verken er sikkert, fleksibelt eller enkelt å videreutvikle. Kode du har skrevet rett etter at du ble ferdig med å lese en nybegynnerbok for PHP-programmering ("jeg har nettopp fått til et script som kan gjøre om tekst så den blir baklengs!"). Simple supportspørsmål ("hvordan redirecter jeg til en annen side?"). Generelt kode av dårlig kvalitet og kode som ikke har noen praktisk nytteverdi for noen. Tenk også over disse tingene før dere poster mer kode i denne tråden: Kan noen andre ha bruk for denne koden? Er det noe jeg kan forbedre i koden? Har jeg sjekket at det ikke er noen bugs i koden? Er det enkelt for andre å bruke koden i sin egen applikasjon? Takk. Lenke til kommentar
AlecTBM Skrevet 9. august 2008 Del Skrevet 9. august 2008 (endret) Okey Koden bærer preg av mangel på kompetanse hos programmereren (altså... while($select12 = mysql_fetch_array($select11)) - skaff deg et rammeverk, det er bare latterlig upraktisk å gjøre det på denne måten) og hele opplegget ser generelt lite fleksibelt ut. Det kan hende det funker bra out-of-the-box, men slike script synes jeg det er unødvendig å poste her Nå ble jeg faktisk fornærma. Jeg bruker allerede siden et par plasser, siden blir også brukt av et par andre personer jeg kjenner. Ser ikke hvorfor det skulle være vanskelig å endre? Skal nevnes at av de plassene (som jeg vet om) der siden blir brukt, så er den modifisert. OG kan du vennligst forklare HVA som er så latterlig upraktisk?? Og som svar så lukter det arroganse av innlegget ditt Endret 9. august 2008 av AlecTBM Lenke til kommentar
creAtiive Skrevet 11. august 2008 Del Skrevet 11. august 2008 (endret) For å rapportere alle feil som oppstår: <?php error_reporting(E_ALL); // everything error_reporting(E_ERROR | E_PARSE); // only major problems error_reporting(E_ALL & ~E_NOTICE); // everything but notices ?> .. i toppen av en fil. By default, the error reporting level is E_ALL & ~E_NOTICE, which means all error typesexcept notices. The & is a logical AND, and the ~ is a logical NOT. However, the php.inirecommended configuration file sets the error reporting level to E_ALL, which is all error types. Error messages flagged as notices are runtime problems that are less serious than warnings. They're not necessarily wrong, but they indicate a potential problem. Endret 24. august 2008 av creAtiive Lenke til kommentar
Peter Skrevet 11. august 2008 Del Skrevet 11. august 2008 (endret) error_reporting(E_ALL | E_STRICT) I tillegg har det vel kommet noen nye med versjonene 5.2.x og 5.3.x Endret 11. august 2008 av Peter Lenke til kommentar
Martin A. Skrevet 12. august 2008 Del Skrevet 12. august 2008 Bruk av standardfunksjoner ser ikke jeg som en "kode", og kvalifiserer derfor ikke i mine øyne som verdig bidrag i denne tråden. Man kan naturligvis ikke lage noe i PHP uten å bruke noen innebygde funksjoner/klasser, så det jeg mente var da innslag av den typen creAtiive kom med. Lenke til kommentar
Runar0 Skrevet 12. august 2008 Del Skrevet 12. august 2008 For å rapportere alle feil som oppstår: <?php error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); ?> .. i toppen av en fil. Den koden der vil vel faktisk vise alle feilmeldinger untatt E_NOTICE og E_WARNING. ;error_reporting = E_ALL & ~E_NOTICE; ; - Show all errors, except for notices Lenke til kommentar
creAtiive Skrevet 13. august 2008 Del Skrevet 13. august 2008 (endret) Et "endre koden på siden" system. Bare fyll inn $sti med riktig bane til .txt filen. : <?php $STI = "sti til fil.."; //session_start(); //if($_SESSION['admins']) { if(isset($_POST['Send'])) { // Først, formater litt $fildata = str_replace("\r\n", "\n", $_POST['html']); $fildata = str_replace('\"', '"', $fildata); // Åpne filen $fil = @fopen($_POST['fil'], 'w+'); if($fil) { // Lagre fwrite($fil, $fildata); fclose($fil); ?> <span class="ok">Filen ble endret!</span> <?php } if(!$fil) { ?> <span class="error">Kunne ikke redigere fil! Riktig fil ? CHMOD 777 ?</span> <?php } } //} // Slutt ?> <?php $fil = file_get_contents($STI); $fil = str_replace(":rofl:","<img src=\"../bilder/ikoner/458.gif\">", $fil); $fil = str_replace(":kjekk:","<img src=\"../bilder/ikoner/484.png\">", $fil); $fil = str_replace(":D","<img src=\"../bilder/ikoner/biggrin.gif\">", $fil); $fil = str_replace(":cool:","<img src=\"../bilder/ikoner/cool.gif\">", $fil); $fil = str_replace(":fun:","<img src=\"../bilder/ikoner/fun.gif\">", $fil); $fil = str_replace(":hmm:","<img src=\"../bilder/ikoner/hmm.gif\">", $fil); $fil = str_replace(":lol:","<img src=\"../bilder/ikoner/laugh.gif\">", $fil); echo $fil; ?> <?php //if($_SESSION['admins']) { if(!isset($_POST['Send'])) { echo " <br><br><span class=\"fvd1r\"><center><form method='post' action=''> <label for='velg'>Rediger side:</label> <select size='1' name='velg' id='velg'> <option value=\"$STI\">SIDE NAVN</option> </select> <input type='submit' name='submit2' value=' Hent Fil '> </form></center></span> "; ?> <br> <script LANGUAGE='JavaScript'> function ssl(which) { document.endre.html.value = document.endre.html.value + which; } </SCRIPT> <img src="../bilder/ikoner/458.gif"> = :rofl:<br> <img src="../bilder/ikoner/484.png"> = :kjekk:<br> <img src="../bilder/ikoner/biggrin.gif"> = :D<br> <img src="../bilder/ikoner/cool.gif"> = :cool:<br> <img src="../bilder/ikoner/fun.gif"> = :fun:<br> <img src="../bilder/ikoner/hmm.gif"> = :hmm:<br> <img src="../bilder/ikoner/laugh.gif"> = :lol:<br> <input type="button" onClick="java script:ssl('<br />')" value="<br />"> <input type="button" onClick="java script:ssl('<strong></strong>')" value="<strong>"> <input type="button" onClick="java script:ssl('<em></em>')" value="<em>"> <input type="button" onClick="java script:ssl('<u></u>')" value="<u>"> <input type="button" onClick="java script:ssl('<center></center>')" value="<center>"> <?php echo "<form method=\"post\" action=\"\" name=\"endre\">\n <input type=\"hidden\" name=\"fil\" value=\"".$_POST['velg']."\" size=\"40\"> <textarea name=\"html\" id=\"tekstarea1\">".file_get_contents($_POST['velg'])."</textarea>\n <input type=\"submit\" name=\"Send\" id=\"tekstarea1\" value=\"Rediger side\">"; //Redigerings-script slutt } ?><br><br> <?php if(isset($_POST['kh'])) { header("Location: /admin1414/"); } ?> <form action="" method="post"> <input type="submit" id="tekstarea2" value=" Til adminpanelet " name="kh" > </form> <?php //} ?> Endret 13. august 2008 av creAtiive 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å