kakkle
-
Innlegg
731 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av kakkle
-
-
Hei
Har fått et lite problem med mounting av ekstern harddisk med 2 partisjoner og ipod.
Når ipod blir plugget inn, så kommer sda1 og sda2 opp, og sda2 blir mountet opp mot /media/ipod ved start av et musikkprogramm (f.eks gtkpod).
Jeg har lagt følgende inn i /etc/fstab:
/dev/sda2 /media/ipod vfat uid=0,gid=0,auto,rw,user 0 0
som funker fint.
Men denne ipod står jo ikke i maskinen hele tiden, da.
Har også en ekstern portabel harddisk på 80 GB med 2 partisjoner. Når denne blir plugget i, så blir det jo litt mismatch i fstab, da, siden partisjon nr 2 blir sda2 (Når ipod ikke er tilkoblet).
Filsystem på harddisk er FAT32 (sda1) og ext3 (sda2).
Så da får jeg ikke mountet opp den andre partisjonen på harddisken uten å gå inn i fstab og kommentere ut den linjen.
Noen som har noen gode tips ?
-
Dette bør vel fungere:
SELECT DATE_FORMAT(dato_publisert, '%d %M %y') as dato_formatert FROM blogg WHERE dato_publisert <= now() AND ( dato_utgaar >= now() OR dato_utgaar = '0000-00-00' ) ORDER BY dato_publisert DESC, bloggid DESC
Du får da tak i den formaterte datoen, ved å spørre etter feltet "dato_formatert"
-
Nå er det en stund siden jeg har testet icewm, men det er lite ressurskrvende, og kan ligne på windows, hvis du vil det:
Screenshot (SilverXP Theme):
-
Hei
Jeg har hatt litt problemer nå en stund med å skrive ut lokalt. Det har tidligere fungert uten problemer, men for rundt en måneds tid siden, så får jeg ikke skrevet ut lokalt.
Det går helt fint å skrive ut fra en annen pc i nettverket, via cups på maskinen.
Litt info om systemet:
Dist: Ubuntu 6.06 LTS
Printer: Canon i990
Cups versjon: 1.2.2
Bruker drivere fra canon i japan eller no... Har ihvertfall fungert smertefritt tidligere.
Har også prøvd med drivere via turboprint (Free Edition), uten at det hjalp.
cupsd.conf:
# Show troubleshooting information in error_log. LogLevel info SystemGroup lpadmin # Enable printer sharing and shared printers. Browsing On BrowseOrder allow,deny BrowseAllow @LOCAL BrowseAddress @LOCAL DefaultAuthType Basic <Location /> # Allow shared printing and remote administration... Order allow,deny Allow @LOCAL </Location> <Location /admin> # Allow remote administration... Order allow,deny Allow @LOCAL </Location> <Location /admin/conf> AuthType Basic Require user @SYSTEM # Allow remote access to the configuration files... Order allow,deny Allow @LOCAL </Location> <Policy default> <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default> AuthType Basic Require user @SYSTEM Order deny,allow </Limit> <Limit CUPS-Authenticate-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy> Include /etc/cups/cups.d/browse.conf # Allow remote access Port 631
Browse.conf:
Browsing On
/var/log/cups/error_log i info mode ved utskrift lokalt:
I [02/Jun/2007:11:04:30 +0200] Full reload complete. I [02/Jun/2007:11:04:30 +0200] Listening to :::631 on fd 0... I [02/Jun/2007:11:04:30 +0200] Listening to 0.0.0.0:631 on fd 2... I [02/Jun/2007:11:04:47 +0200] Started "/usr/lib/cups/cgi-bin/printers.cgi" (pid=21244) I [02/Jun/2007:11:04:49 +0200] Adding start banner page "none" to job 156. I [02/Jun/2007:11:04:49 +0200] Adding end banner page "none" to job 156. I [02/Jun/2007:11:04:49 +0200] Job 156 queued on "Canon_i990_USB_1" by "kakkle". I [02/Jun/2007:11:04:49 +0200] Started filter /usr/lib/cups/filter/pstops (PID 21245) for job 156. I [02/Jun/2007:11:04:49 +0200] Started filter /usr/lib/cups/filter/pstoturboprint (PID 21246) for job 156. I [02/Jun/2007:11:04:49 +0200] Started backend /usr/lib/cups/backend/usb (PID 21250) for job 156. I [02/Jun/2007:11:04:51 +0200] Started "/usr/lib/cups/cgi-bin/printers.cgi" (pid=21272)
print jobben forsvinner fra jobb køen, men ingenting kommer ut på skriveren.
/var/log/cups/error_log i debug mode ved utskrift lokalt (testside fra cups)
(OBS: Veeldig Myyye data):
FJERNET
Men si fra dersom det trengs noe mer informasjon
EDIT: Det viste seg å være driveren som feilet. Etter en oppdatering av ett eller annet så var det vel ett eller annet som ikke var kompatibelt.
Uansett... LAstet ned driverne og installerte dem på nytt, så gikk det faktisk veldig greit
PS: Den turboprint saken var bare plagsom. Skrev ut en stor truboprint logo en tilfeldig plass på arket... Dette gjelder da den gratis (demo) versjonen. Regner med at det forsvinner dersom man kjøper programvaren
-
Hei
Dersom du skal laste opp til en mappe som heter news, så blir dette litt feil. Du laster nå opp til gjeldende mappe som scriptet er i, og filanvnet blir news<gammeltfilnavn>
PRøv å endre denne:
$target_path = $uploadLocation .basename( $_FILES['upfile']['name']);
til
$target_path = $uploadLocation . "/" . basename( $_FILES['upfile']['name']);
Da blir $target_path: news/<gammeltfilnavn>
Hsuk at news må være skrivbar (0777 f.eks)
EDIT: Dersom du gir skrivetilgang til den mappen som scriptet ligger i, så burde dette fungere fint
-
-
Du kan sikkert finne noen gode innlegg som kan komme godt med i posten som heter:
Annonsering: En liten samletråd for nye brukere
HEr ligger det link til de fleste områder innen php på dette forumet.
-
Spørringen din henter alle unike iper, (som tydligvis er 297)
Så looper du igjennom resultatet, og skriver ut antall unike iper like mange ganger som det er unike iper...
Og jeg håper ikke du har telt gjennom alle, at det er 297 ganger det blir skrevet ut ?
mysql_num_rows tar jo $r (spørringen) som argument, så du trenger forsvidt ikke å hente ut noen verdier ($row)
EDIT: Med andre ord: fjern While løkken...
-
Her:
if (!mysql_num_rows(mysql_query("SELECT * FROM bilder WHERE id = '$id'"))) {
og her:
$r = mysql_query("SELECT * FROM bilder WHERE id = '$id'");
-
Di skal sikkert ikke ha ' rundt $id i spørringen. Med mindre feltet id ikke er et tall, da...
-
Alternativ a fungerer jo strålende:
// Dropper å skrive klassene på nytt, men fjern parent:: sakene $tang = new Tang("tingeling"); print $tang->tang; $tang->change_tang("bommelom"); print $tang->tang;' ?>
gir
tingelingbommelom -
Du må hente ut verdiene fra databasen som ligger i feltene name, email og rank.
Direkte link til funksjon du må bruke:
http://no.php.net/mysql_fetch_array
evt
http://no.php.net/mysql_fectch_row
evt
http://no.php.net/mysql_fetch_object (om du liker objekter bedre)
EDIT: Feil i link
-
Cluet er at du må få ut verdiene til feltene name, email og rank fra databasen. Du henter ikke ut verdiene til disse feltene noen plasser. Dette må gjøres før du setter SESSION variablene
Tips:
-
Hvor setter du variablene $name, $email, $rank.
Hvordan får du verdiene til disse variablene ut fra databasen, er vel kanskje et spørsmål som får deg i riktig retning.
-
Jo du trenger 1, men ikke 2, sm du hadde i dennw koden...
-
Siden du redigerer verdiene, så bør du jo hente ut dataen før databasen og sette dem inn i tekstfeltene, eller så må man jo skrive inn alle feltene på nytt
Eks.:
$id = $_GET["id"]; $sql = "SELECT * FROM brukere WHERE id=$id"; $res = mysql_query($sql) or die("FEIL I SPØRRING: $sql"); $row = mysql_fetch_row($res); echo (" <form method=\"POST\" action=\"?id=$id\"> Username: <input type='text' size='25'maxlength='25' name='username' value='".$row["brukernavn"]."'> <br /> Password <input type='text' size='30' maxlength='25' name='password' value='".$row["password"]."'/> <br /> Name: <input type='text' size='30' maxlength='100' name='name' value='".$row["name"]."' /> // osv... <br /> Userlevel: <select name='userlevel'> <option value='1' selected='selected'>Users (1)</option> <option value='5'>Moderator (5)</option> <option value='6'>Fleet (6)</option> <option value='7'>Training (7)</option> <option value='8'>Chief of Pilots (8)</option> <option value='9'>Admin (9)</option> </select> <br /> <input name=\'register\' type=\'submit\' value=\'Register\'> </form>
Legg merke til at jeg fjernet "Edit" Submit knappen. Vet ikke helt hva du skulle med den ?
EDIT: action i form tagen
-
<form action="?id=<?php echo $_GET["id"];?>" method="post"> <input type="submit" name="delete" value="Slett bruker" /> </form> <?php $id = $_GET['id']; // altså må URL'en være noe slikt: // side.php?id=1 . Bytt ut 1 med ID nummeret til personen du skal slette. if (isset($_POST['delete'])) { if(mysql_query("DELETE FROM tabell WHERE id='$id'")); echo 'Bruker slettet'; else "Bruker ble ikke slettet"; } ?>
EDIT: Evt:
<form action="" method="post"> <input type="hidden" name="id" value="<?php echo $_GET["id"];?>"> <input type="submit" name="delete" value="Slett bruker" /> </form> <?php if (isset($_POST['delete'])) { $id = $_POST['id']; if(mysql_query("DELETE FROM tabell WHERE id='$id'")); echo 'Bruker slettet'; else "Bruker ble ikke slettet"; } ?>
-
Du vil vel ikke la vanlige brukere ha mulighet til å slette ? Kanskje bare endre sin egen info, mens den som har den høyeste ranken (alle rettigheter), kan slette og editere alle brukere, bortsett fra å slette sin egen bruker:
Sett at du lagrer brukerid til den som er logget inn i en session $_SESSION["user"]:
list_users.php:
$sql = "SELECT rank FROM brukere WHERE id=".$_SESSION["user"]; $res = mysql_query($sql) or die("FEIL I SPØRRING: $sql"); $row = mysql_fetch_array($res); $loggedinrank = $row["rank"]; $sql = "SELECT * FROM brukere"; $res = mysql_query($sql) or die("FEIL I SPØRRING: $sql"); echo "Brukere:<br>\n"; echo "<ol>"; while($row=mysql_fetch_array($res)) { echo "<li>".$row["brukernavn"]; if($loggedinrank = 1) { echo " - <a href='edit.php?id=".$row["id"]."'>edit</a>"; if($row["id"] != $_SESSION["user"]) { echo " - <a href='delete.php?id=".$row["id"]."'>delete</a>"; } } elseif ($_SESSION["user"] == $row["id"]) { echo " - <a href='edit.php?id=".$row["id"]."'>edit</a>"; } echo "</li>"; } echo "</ol>";
sidene delete.php og edit.php må jo selvfølgelig gjøre en sjekk på om innlogget bruker har rettighet til å slette / editere brukeren.
EDIT: Forutsetter jo at feltene i tabellen heter rank og brukernavn
-
Har gjort noen få endringer:
lagre.php:
<?php $file = "innlegg.txt"; $dato = date("d.m.y g:i"); $navn = $_POST['navn']; $epost = $_POST['epost']; $innlegg = $_POST['innlegg']; $innlegg = stripslashes($innlegg); $epost = stripslashes($epost); $navn = stripslashes($navn); $innlegg = str_replace ("<","<",$innlegg); $innlegg = str_replace ("\n","<br>",$innlegg); $epost = str_replace ("<","<",$epost); $epost = str_replace ("\n","<br>",$epost); $navn = str_replace ("<","<",$navn); $navn = str_replace ("\n","<br>",$navn); if(empty($navn) || empty($epost) || empty($innlegg)) { echo "Alle felt må fyldes ut!"; } else { $gamle_innlegg = file_exists($file)?file_get_contents($file):""; $fp = fopen($file,"w"); fwrite($fp, ' <table width="390" cellspacing="1"> <tr><td style="width: 100px">Dato:</td> <td style="width: 290px">'.$dato.'</td></tr> <tr><td>Navn:</td> <td><a href="mailto:'.$epost.'">'.$navn.'</a></td></tr> <tr><td valign="top">Kommentar:</td> <td>'.$innlegg.'</td></tr> </table><br /> '.$gamle_innlegg); fclose($fp); echo 'Takk '.$navn.', for at du signerte gjesteboken min.</p>'; } ?> <?php echo "<p><a href='index.php'>Tilbake til gjesteboken</a></p>"; ?>
index.php:
<html> <head> <title>joheim.no</title> </head> <body> <h2>Gjestebok</h2> <u>Skrive i gjesteboken:</u><br /> <br /> <form method="post" action="lagre.php"> <table width="390" cellspacing="1"> <tr><td style="width: 100px">Navn:</td> <td><input type="text" name="navn" /></td></tr> <tr><td>Epost:</td> <td><input type="text" name="epost" /></td></tr> <tr><td valign="top">Kommentar:</td> <td><textarea name="innlegg" rows="4" cols="40" style="width: 278px;"></textarea></td></tr> <tr><td></td> <td><input type="submit" value="Send hilsen" /></td></tr> </table> </form> <u>Innlegg:</u><br /><br /> <?php $file = "innlegg.txt"; if (file_exists($file)) { $fil = "innlegg.txt"; $fo = fopen ($fil, "r"); $con = fread ($fo,filesize ($fil)); fclose ($fo); echo "$con"; } else { echo "Beklager, ingen innlegg"; } ?> </body> </html>
EDIT: For at alle innelggene skal komme i omvendt rekkefølge, så avhenger det av at filen (innlegg.txt) ikke innholder noen innlegg som er i riktig rekkefølge, hvis du mener hva jeg forstår
-
Hei, hvis upload feltet heter "fil":
<input type="file" name="fil">
så må du bruke det slik:
$_FILES['fil']['type']
uten $-tegn
-
Nå er ikke jeg noen racer på stylesheets og design ting, men kankje prøve å bytte rekkefølgen på disse to:
</div> </table>
-
Hmmm
Men localhost er vel 127.0.0.1 ?
-
Men husk at dersom du kjører dette gjennom apache, så er det crontaben til apache brukeren som gjelder. Og for å kjøre crontab for en annen bruker, så må du har rettigheter til det...
En mulighet er å lage en ekstrafil hver gang du editerer crontaben. Med hvilket som helst innhold, så lager du en cronjob på forhånd for din bruker, som sjekker om den filen finnes, finnes den, så kjøres crontab $cronfile, også slettes den filen som sjekkes etterpå...
Hvis du skjønte det, da...
EDIT: For å vise hvordan du kan gjøre det med et bash script som sjekker om det er noen endringer til crontab fra web:
php script:
<?php $cronfile="/path/to/cronjobfile"; $minutes = "*"; $hours = "1"; $dayofweek = "*"; $month ="*"; $dow = "*"; $command = "/home/kakkle/test"; $newjob = "$minutes $hours $dayofweek $month $dow $command\n"; $writefile = fopen ($cronfile, "a"); fputs ($writefile, "$newjob"); fclose($writefile); touch("modcron.tmp"); // Denne er for å si at det er lagt inn ny cronjob ?>
bash script: checkcron:
#!/bin/bash if [ -e /var/www/tmp/hw/modcron.tmp ] then crontab /path/to/cronjobfile echo "Cron tab was changed:" crontab -l rm -f /var/www/tmp/hw/modcron.tmp else echo "No cron edits found" fi
legg dette inn i crontab:
* * * * * /path/to/checkcron >> /path/to/checkcron.log
Så er du igang
-
<?php $cronfile="/path/to/a/cronjobfile"; if(file_exists($cronfile)) { $readfile=file_get_contents($cronfile); } $minutes = "*"; $hours = "1"; $dayofmonth = "*"; $month ="*"; $dayofweek = "*"; $command = "/path/to/a/cronjobfile"; $newjob = $readfile."$minutes $hours $dayofmonth $month $dayofweek $command\n"; $writefile = fopen ($cronfile, "w"); fputs ($writefile, "$newjob"); fclose($writefile); exec ("crontab $cronfile"); echo nl2br($readfile); ?>
Bruker som kjører apache må ha tilgang til /path/to/a/cronjobfile
EDIT: Flyttet visning av cronfilen til etter at jobben er lagt til
Hvordan lage "bla" linker
i Programmering og webutvikling
Skrevet · Endret av kakkle
Vel, her er en mulig løsning.
Lager linker med sidetall i toppen som kan trykkes på. Ikke link på aktiv side.
Neste / Forrige side, skal være enkelt å lage, dersom du vil ha det ($side-1 og $side+1, med noen tester om de linkene trengs, f.eks)
Med forbehold om småfeil...
EDIT: Litt rot med æøå, og pluss at det VAR noen småfeil, da (sikkert flere, men håper du skjønner tegningen)