kakkle
-
Innlegg
731 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av kakkle
-
-
Hei
Likte det nye designet bra
Grattis med ny design.
Har bladd igjennom alle sidene i denne tråden, og prøvd å se om noen har sagt noe om bugg på menyen oppe på forumsidene. Så ingen, da...
Psoter derfor et screenshot som viser problemet.
Får det i Firefox og Konquerror. Opera vises ok...
Gjelder kun på forumsidene...
Skjermbilde:
-
Skjønner det slik at dette er en tabell med kunder...
- Du kan lagre filen i excel som *.csv fil. Da blir det lagret med ; mellom hvert felt. Navnet på feltet blir i den første raden
- Lag så et script som leser denne filen rad for rad (se file()) og lager en tabell med feltnavn utfra første rad.
- For å få tak i hvert felt i hver rad, deler du opp hver rad i flere elementer som er skilt med skilletegnet ";" (Se explode)
- Så legger du hvert felt inn i tabellen i det feltet det skal vha INSERT.
Eksempel
Excel ark: (Bruker | for skille kolonner) Si at den heter kunder.xls
kundenummer|kundenavn|adresse|kontaktperson
231234|hardware.no|hardwaregata|hard ware.no
1345|firmafake|fakegata 32|arnulf fake
Dette lagres som csv fil (f.eks kunder.csv). Den blir sånn ca slik:
kundenummer;kundenavn;adresse;kontaktperson
231234;hardware.no;hardwaregata;hard ware.no
1345;firmafake;fakegata 32;arnulf fake
Denne filen leser du inn i et php script
$readfile = file("kunder.csv"); // Les inn filen i et array som kalles $readfile $lines = count($readfile); // Finner antall linjer i filen $line = 0; // Teller for å holde styr på hvilken linje du er på $feltnavn = explode(";", $readfile[0]) // Legger feltnavn inn i variabelen $feltnavn // Her kan du evt opprette tabellen i mysql med disse feltnavnene $line++; //legger på 1 på $line for å hoppe til neste linje while ($line<$lines) { //Loop for å lese alle linjer $data = explode(";", $readfile[$line]); // Her legges hvert felt inn i et array, $data // Dvs at $data[0] er kundenummer, $data[1] er kundenavn osv. // Dette legger du inn i de rette felten ei mysql tabellen $line++; // Ikke glem denne før while-blokken avsluttes }
Nå har du fått endel hjelp nå. Regner med du kan så pass php til å klare resten selv ?
Dette er den måte jeg ville brukt for å overfør data fra excel til mysql.
Håper det går greit
-
Hei pepsien; Me Arne
Skulle bare teste om du hadde fikset ; i innleggene.. ikke meningen å kødde opp gjesteboka
Anbefaler deg å bruke et annet tegn som skille tegn, eller evt replace ; med et annet tegn, f.eks ; som vil vises som ; på siden, men ikke i tekstfilen
Kakkle (Arne)
EDIT Glemte at & # 59 ; (skal være uten mellomrom mellom) også selvfølgelig vil bli vist som ; i dette forumet
-
Kan du ikke bare bruke substr_count() ?
$streng = "abcdefgabcdefgaa" $antall = substr_count(strtolower($streng), "a") echo $antall // Bør skrive ut 4
EDIT: Jeg er sinnsykt treig på å skrve... PT var jo lenge før meg
EDIT2: Hadde byttet om på Haystack og needle
EDIT 3: Men PT... Du mangler jo needle i din substr_count ()
-
Tror du vil ha godt av å lese på php.net...
Sjekk linken jeg postet i mitt første innlegg.. php.net
Der står det om $_SESSION, $_COOKIE, $_POST, $_GET osv...
php.net har løsningen på det meste
Et lite tips: Er det en funksjon du lurer på hvordan virker og slikt. skriv inn www.php.net/funksjon, så få rdu alt om den funksjonen. Eksempelvis funksjonen du lurte på: http://www.php.net/setcookie
Her får du svar på det du spør om.
-
Det har vel ingenting med submit eller skemaet å gjøre i det hele tatt ? $count teller jo bare antall rader i databsen som har det brukernavnet og det passordet som er tastet inn i skjemaet.
Husk at mysql_num_rows returnerer en int.
Det er vel kanskje best å teste om det er 1 rad, eller skal det være mulig for flere å ha samme brukernavn og passord ? Kan by på en god del store problemer i såfall
if($count == 1) { // 1 rad med brukernavn og passord ble funnet. Log inn header("location:admin.php"); } else { header("location:index.html"); }
EDIT: Litt smårettelser
EDIT2: Sikkerheten på scriptet ditt er en helt annen ting. Bør utbedres
-
Tror nok problemet ligger i if setningen din. Du legger inn antall funnet rader av spørringen din i $count, men sjekket med $_GET[count==0]. Det bli litt feil.
$_GET brukes for å få tak i en variabel som er satt i urlen. f.eks index.php?id=2
$id = $_GET["id"] vil da gi $id verdien 2.
$_GET brukes også for å få tak i verdier fra skjemaer som sender med metoden GET istedetfor post (slik at det som skrives inn i skjemaet vises i urlen)
For å lese litt om predefinerte variabler ($_POST, $_GET, $_SESSION, ...) kan du kikke på php.net
Vil tippe at den if (if($_GET[count==0]))setningen vil se lik ut som for 4 år siden... (if($count ==0))
/kakkle
-
$brukernavn = mysql_query("SELECT brukernavn FROM admin WHERE brukernavn='$_POST[brukernavn]'") or die("FEIL:<br>".mysql_error()); . . . $registrer = mysql_query("INSERT INTO brukere (id, brukernavn, passord, navn, epost, status) VALUES ('', '$brukernavn', '$passord', '$navn', '$epost', '$status')") or die("FEIL:<br>".mysql_error());
Prøv det !
Hvorfor bruker du forresten $_POST[brukernavn] i spørringen, når du allerede har en $brukernavn variabel ? som burde gjøres edel ting mer med ?
EDIT: Fjernet @, ettersom du også har fjernet dem
-
str_replace funker ypperlig til dette
-
hmmm...ingen som har peil? jeg har sett på koden litt nå men skjønner fortsatt ikke hvorfor valuen på selectmenyen blir 0 uansett hvilkrn størrelse du velger eller hvorfor Poststed blir til
Poststed: Resource id #4
med queryen:
$result = mysql_query("SELECT poststed FROM postadr WHERE postnr ='{$_POST['postnr']}'"); $row = mysql_fetch_row($result); Poststed: $result
Du skriver jo ut $result... Du mener vel sikkert å skrive ut $row, slik:
prøv med echo "poststed:".$row[0];
-
Bruk nl2br for å gjøre linjeskift (New Line) om til br ved utlisting av det feltet.
-
som du ser, så blir ikke det som skrives inn i formen registrert..
skrev du inn $keyword = $_POST["keyword"] før $search = addslashes($keyword) ? Prøv evt å fjern addslashes, eller bruk mysql_escape_string($keyword) istedet...
Er du sikker på at det er et felt i tabellen wap som heter midi ?
-
Tydligvis noe feil hos start.no...:
-
1. Du må nok sikkert bruke $_POST[] får å få tak i keyword... Sett inn etter case search:
$keyword = $_POST["keyword"];
Regner med Globale verdier er avslått (iom at du bruker $_GET). Bør ihvertfall være det...
2. Kjør alltid en sjekk på spørringen din mot mysql. Bytt ut "$result = mysql_query........" med dette:
$sql = "SELECT * FROM wap WHERE midi LIKE '%$search%'"; $result = mysql_query($sql) or die("FEIL I SPØRRING: $sql <br>".mysql_Error());
Da vil du nok få fram en feilmelding som forklarer hva som er feil.. Evt også se at spørringen ikke er slik du vil den skal være...
EDIT: Så fremt det er koden i innlegg 5 som gjelder, da
-
hent navnet på hver fil i zip arkivet med funksjonen zip_entry_name(), finn filendelsen. Dersom den er xml, lagre navnet på filen i variabelen $xmlfilnavn.
Eks.: (Ikke testet, men bør fungere i prinsipp)
$zip = zip_open($zipfile); if ($zip) { while ($zip_entry = zip_read($zip)) { $ext = strtolower(substr(strrchr(zip_entry_name($zip_entry), "."), 1)); // fil endelse if($ext == "xml") { // Filendelse er xml $xmlfilnavn = zip_entry_name($zip_entry) // Her får du filavnet } // If $ext end // Her kan du f.eks gjøre ting med de andre filene i zip arkivet... } // while end } //if $zip end
Med forbehold om småfeil, ala trykkfeil
EDIT: Jupp... Det var nok litt trykkfeil
-
Sett inn dette helt i toppen av index.php:
<?error_reporting(E_ALL ^ E_NOTICE);?>
Da får du opp alle feilmeldinger, men ikke NOTICE meldinger, så får du ihvertfall opp en feilmelding
Jeg mistenker denne linjen:
<?xml version="1.0" encoding="iso-8859-1"?>
Der starter du jo en php-tag med <? som da indikerer at php koding begynner...
EDIT: Litt annet ordvalg
-
Det er ingen funksjon som setter den første bkostaven til lowercase, men du kan jo f.eks. benytte strtolower til å sette den første bokstaven til lowercase, da... Lag din egen lcfirst
function lcfirst($str) { $str[0] = strtolower($str[0]); return $str } echo "Hei på Deg<br>".lcfirst("Hei på Deg");
-
kan du ikke bare bruke strtolower() ?
-
bare legg inn linjeskift (\n) som et hvilket som helst annet tegn du vil godkjenne i din regexp
slik som dette ?
ereg("^[A-Za-zÆØÅæøå0-9!?,.:; \n]{4,}$",$melding)
Det får jeg ikke til å fungere. Skal det stå ett annet sted eller no?
Hr du prøvd med \\n ?
-
Husket du å fjerne begge session_start() ? I både logginnaction.php og innlogget.php ?
-
Det er ikke noe feil i php delen av skriptet. det er fnuttene i javascriptdelen som går litt i surr tenker, jeg... Når du kaller de funksjonene dine.(Skjønner ikke helt hvorfor du har med MM_callJS ? Hva gjør den ? Trenger du den ? Tydligvis laget i Macromedia ?)
Prøv dette:
echo "<a href=\"javascript:;\" onClick=\"MM_callJS('vindu(\'images/hjem/$file\',\'Bilde\')')\">
Slik du har det, vil det bli:
<a href='javacdipt:;' onlick='MM_callJS('....<--- Der slutter onclick, hvis du skjønner
EDIT: Javascript er forresten en uting
/Kakkle
-
Ja, der var det ihvertfall en feil. Men likevel, så er det fortsatt noe som ikke stemmer pga. jeg for den samma meldingen hele tiden.
Hvilken melding får du hele tiden ?
Kjør alltid en or die etter en query, så kan du sjekke ting tang dersom spørringen går feil...
$sql = "SELECT data FROM $table WHERE felt1 = '$felt1' ORDER BY $order"; $res = mysql_query($sql) or die("Feil i spørring: $sql<br>".mysql_error());
Dersom spørringen nå feiler, så får du skrevet ut spørringen, og kan sjekke at variablene ($table, $felt1, $order) er slik som forventet...
-
Skjønner egentlig ikke helt hvorfor du skal skrive ut noe før en evt. redirect. Dersom du skriver ut noe, så vil jo ikke det vises uansett...
Går det ikke an å flytte if setningen til før du skriver ut noe ?
I hvilken sammenheng skal du bruke dette ?
-
Hvorfor gjøre det så vanskelig? Trenger ikke fopen.
Hvis du vil inkludere en side utifra verdien av en variabel kan du gjøre sånn:
<?
$sjekk = isset($side);
if($sjekk)
include "include/".$side.".php";
else
include "include/forside.php";
?>
$sjekk vil ha en verdi lik true (1) eller false (0).
D.v.s. at dersom ikke $side har en verdi, så inkluderer scriptet forsiden, ellers den aktuelle siden. Trenger ikke noe 404 side.
Hmmm...
Med den koden, vil det komme frem feilmelding dersom noen prøver å vise en side som ikke finnes...
Men det er unødvendig med en if setning for å sjekke om den kan leses, og en if setning som sjekker om den ikke kan leses... Bruk heller else istedetfor den siste if setningen...
Og ja, det er garantert det at du har slått av register globals som gjør at det blir feil...
Det vil si at $side ikke er definert. $sjekk blir derfor false, og forsiden blir inkludert...
Bør nok også sjekke hvilken fil som blir inkludert... Om det er en lovlig fil, liksom..
Eksempel på å få verdier fra Url med register globals avskrudd:
url: www.domain.com/?foo=bar
i koden:
$foo = $_GET["foo"] // $foo blir nå bar
/Kakkle
Endre størrelse på ett bilde.
i Programmering og webutvikling
Skrevet
Skjønner at du vil ha en max oppløsning på 600x600 ? eller er det bare bredden som maks skal være 600 ? Slik at hvis et bilde er (bxh) 500 x 1200, så blir det ikke endret ?
Uansett, for å få automatisk høyde, må du regne deg fram til hva den nye høyden blir ut ifra den nye bredden:
Ny høyde = Gammel høyde * (Ny bredde / Gammel bredde)
Dersom du har ImageMagick installert, så kan du egnetlig bare bruke denne, så endre høyden automatisk:
Men denne vil da også endre høyden ned til 300, dersom det er den som er størst, slik at et bilde som er 1200 * 1600, vil bli 225 x 300 (hmmm.. hvis jeg regnet riktig nå )