On Thu, 12 Jun 2003 22:11:06 +0200, "Peter Sepstrup"
<peter@_REMOVE_sepstrupnet.dk> wrote:
>Der har i den seneste tid været en del gengangere mellem spørgsmålene i
>dk.edb.internet.webdesign.serverside.php vi (undertegnede og nogle af de
>"faste" brugere) er derfor blevet enige om at det ville være en god ide at
>lave en OSS for denne gruppe.
Jeg har set flere kommentarer til dette, men jeg har ikke set nogen
bud på hvilke, der reelt set er behov for. de.comp.lang.php har dog
allerede følgende FAQ online, som man evt. kan blive inspireret af:
http://www.dclp-faq.de/
Personligt vil jeg foretrække mindre indhold, og mere målrettet til
henvendelserne i denne gruppe. Jeg mener ikke, en FAQ skal være en
egentlig tutorial, eller avancerede forklaringer. Hvis svaret er for
kompliceret, vil folk alligevel spørge i gruppen, så jeg ser hellere
simple (og måske ikke 100% uddybende) svar. Hvis folk vil have hele
sandheden, kan de sikkert også selv finde frem til den, læse
kildetekst, etc.
Mine hurtige og uredigerede forslag, der dog bør få tilføjet nogle
eksempler:
Q: Hvordan virker file(), strstr(), date() eller en anden funktion?
A: Kig i PHP's referencemanual;
http://php.net/file ,
http://php.net/strstr ,
http://php.net/date , etc.
Q: Hvorfor virker $foo pludselig ikke?
A: 4.1.0 introducerede superglobale variable, og efterfølgende er
register_globals deaktiveret i default-konfigurationen. Dette er en
feature, som man bør vænne sig til. Brug $_REQUEST['foo'] i stedet
for, eller i nødstilfælde sæt register_globals til "on" for de
aktuelle sider.
http://dk.php.net/manual/en/language.variables.predefined.php
Q: Hvorfor får jeg pludselig en række Notice-fejl?
A: Det er ikke egentlige fejl. Det skyldes sandsynligvis at
fejlrapporterings-niveauet (error_reporting) er sat ret lavt ved nogle
nyinstallationer. Vil man lave robust kode, bør man kode derefter,
dvs. initialisere variable på forhånd, bruge isset() for variable, man
ikke er sikker på om er initialiseret, og så fremdeles. Resten kan
overveje at sætte fejlrapporteringen op, så notice's ikke bliver vist.
Q: Hvorfor får jeg "Warning: 0 is not a MySQL result index"?
Q: Hvorfor får jeg "Warning: supplied argument is not a valid MySQL
result resource"?
A: I første omgang går din mysql_query() ikke godt. Derfor kan den
ikke give noget resultatsæt tilbage, som fx mysql_fetch_row()
efterfølgende kan bruge. mysql_error() kan give nærmere information om
hvor, fejlen er i din query.
Hvis du stadigvæk er i tvivl, så prøv at lægge din query ind i en
variabel, som du så outputter. Måske indeholder nogle variable ikke
det, du tror, de gør.
http://dk.php.net/manual/en/function.mysql-error.php
Q: Hvordan får jeg MySQL til at...
A: Spørg i news:dk.edb.database. Omend man normalt ser PHP og MySQL gå
hånd i hånd, så findes der en selvstændig nyhedsgruppe for
database-relaterede spørgsmål. Dér sidder også dygtige folk, der måske
ikke lige bruger PHP (eller MySQL, men som stadigvæk har forstand på
generel SQL).
Omvendt set har PHP-kode ikke noget at gøre i dk.edb.database.
Q: Mit webhotel har ikke .. kan jeg selv installere det?
Q: Kan jeg få PHP til på serveren at køre et program, jeg har
uploadet?
A: Er det, du mangler, lavet i PHP (som fx PHPMyAdmin), så er et bare
at lægge det online. Ellers er svaret sandsynligvis nej. De fleste
udbydere kører PHP i den såkalde SAFE_MODE, der ikke tillader kunderne
at køre vilkårlige programmer, kigge i hinandens mapper, og så
fremdeles.
Q: Hvad er bedst af PHP eller ASP?
A: PHP. I andre tilfælde ASP.
Q: Kan jeg indstille min Apache/PHP, så jeg bruger SAFE_MODE, og
samtidig giver mulighed for HTTP-upload gennem PHP?
A: Ja.
Q: Skalering af billeder?
A: TODO (GD, GD2, ImageMagick, Imlib2)
Q: Dato i dansk format?
A: TODO (LC_*)
Q: Data over flere sider?
A: TODO (Sessions)
Q: Sende mails med filer attached, eller sende mange mails?
A: TODO
Q: Køre PHP i baggrunden; køre noget PHP på bestemte tidspunkter?
A: TODO (cron, cgi, shell...)
Allerede her synes jeg næsten, der er for meget med.
--
- Peter Brodersen