Gå til innhold

Trenger litt hjelp med et script | legge informasjon i database og vise denne i nettleser


Anbefalte innlegg

Jeg prøver å få til et script som gjør at en bruker (admin) kan legge inn informasjon i en database via nett, og vise denne på en nettside. Det må også kunne vises et bilde, og informasjonen må kunne fjernes fra databasen via nett etter ønske. Noen som kan hjelpe meg litt i gang? Det er påtenkt å være et script som legger ut informasjon om adoptering/omplassering av dyr.

Lenke til kommentar
Videoannonse
Annonse

Har du vurdert benytte deg av ett ferdig system som f.eks wordpress til denne type publisering? Alternativt kan jeg hjelpe deg i gang med å sende deg til php.net, men ville anbefale å teste wordpress først siden det tar 5min å installere :-)

Lenke til kommentar

Beklager, jeg trodde du bare ville få noe opp fort å virke, ikke faktisk lære deg PHP :-)

 

Lenge siden jeg lærte meg PHP så har ikke noe god oversikt over hvilke tutorials som er best men jeg vet at w3schools ofte har gode tutorials for å komme igang med språk. Ikke veldig avanserte, men ett greit utgangspunkt.

 

Ville generelt tatt en leterunde etter gode tutorial på nett eller vanlige bøker på temaet.

 

Lykke til og kos deg med PHP!

Lenke til kommentar

Takk, takk :) Sindrem.com har vel en del greit stoff også. Jeg har faktisk kjøpt Webprogrammering i php for noen år siden, men jeg syns den var litt tung å lese, så jeg la den i grunnen bare fra meg, og etter det har jeg ikke sett så mye på den, til tross for at den har fått mye skryt.

Lenke til kommentar

Her er det jo egentlig to ting som du trenger å lære. (Grovt sett)

Dette med interaksjon med database, og dette med å laste opp filer til server.

 

Ta en ting av gangen først, siden du skal lære dette:

Nødvendige operasjoner for databasehåndtering

  • Tilkobling til databaseserver

  • Valg av database

  • Sende forespørsel (SQL-setning) til databaseserver

  • Motta og behandle svar (resultatet av SQL-setningen) fra databaseserver

Tilkobling til databaseserver

Funksjonskall

  • mysql_pconnect($host,$user,$password)

Parametre

  • $host : navn på server
  • $user : brukernavn for eieren av databasen
  • $password : passord for eieren av databasen

Valg av database

Funksjonskall

  • mysql_selectdb($database)

Parametre

  • $database : navn på databasen

Sende forespørsel (SQL-setning) til databaseserver

Funksjonskall

  • mysql_query($sqlSetning)

Parametre

  • $sqlSetning: SQL-setningen som skal sendes til databasetjeneren

Funksjonsverdi

  • Resultatet av SQL-setningen

Motta og behandle svar (resultatet av SQL-setningen) fra databaseserver

Funksjonskall

  • mysql_num_rows($sqlResultat)

Parametre

  • $sqlResultat: resultatet av SQL-setningen

Funksjonsverdi

  • antall rader i resultattabellen

Funksjonskall

  • mysql_num_fields($sqlResultat)

Parametre

  • $sqlResultat: resultatet av SQL-setningen

Funksjonsverdi

  • antall kolonner i resultattabellen

Funksjonskall

  • mysql_fetch_array($sqlResultat)

Parametre

  • $sqlResultat: resultatet av SQL-setningen

Funksjonsverdi

  • innholdet av neste rad i resultattabellen

Eksempler

 

 

<?php	 /* Eksempel 1a */
/*
/*	Programmet mottar postnr og poststed fra et HTML-skjema
/*	Programmet sjekker om feltene postnr og poststed er fylt ut
/*	Programmet registrerer data om poststedet i POSTSTED-tabellen 
*/
$host="localhost";
$user="student";
$password="******";
$database="student";	 /* verdier satt for host, user, password og database for tilkobling til databaseserver */

$postnr=$_POST ["postnr"];
$poststed=$_POST ["poststed"];	 /* variable gitt verdier fra feltene i HTML-skjemaet */

if (!$postnr || !$poststed)	 /* nødvendige felter er ikke fylt ut */
{
	print ("postnr og poststed må fylles ut <br>");
}
else
{
	mysql_pconnect($host,$user,$password);	 /* tilkobling til database-serveren utført */

	mysql_select_db($database);	 /* valg av database foretatt */

	$sqlSetning="INSERT INTO poststed VALUES('$postnr','$poststed')";
	$sqlResultat=mysql_query($sqlSetning);	 /* SQL-setning sendt til database-serveren */

	if (!($sqlResultat))	 /* SQL-setningen ble ikke utført med vellykket resultat */
		{
			print ("registrering ikke vellykket <br>");
		}
		   else
		{
			print ("nytt poststed er nå registrert <br>");
		}
}
?>

Opplasting av fil

// en if setning som sjekker filbane og navn på fil, om den er satt/trigget
if( empty($_FILES['filbane']['name']) ) {
?>
<form action="upload.php" method="post" enctype="multipart/form-data">

Velg et bilde ved å trykke på knappen til høyre... <br>

<input type="file" name="filbane" size="30"><p>

<textarea name="beskrivelse"></textarea>

...skriv inn en passende beskrivelse på bildet, og trykk 

deretter her for å laste opp til tjeneren

<input type="submit" value="Last opp fil" name="last_opp">

</form>  
<?
}

else {
//$temp_fil er et midlertidig navn bestemt i php.ini 

$temp_fil = $_FILES['filbane']['tmp_name']; 

//Blir for eksempel bilder/navn.jpg

$filnavn = "bilder/". $_FILES['filbane']['name']; 

//må derfor kopiere fra denne over til et kjent sted/navn

copy($temp_fil, $filnavn) or die ("Kunne ikke kopiere");



$filtype = $_FILES['filbane']['type']; //MIME-typen til filen

$storrelse = $_FILES['filbane']['size']; //størrelsen


 $host="localhost";
 $user="student";
 $password="******";
 $database="student";  

	$sqlSetning="INSERT INTO tabellen (filtype, storrelse, filnavn )VALUES ('$filtype','$storrelse','$filnavn ')";
	$sqlResultat=mysql_query($sqlSetning);	 /* SQL-setning sendt til database-serveren */

		  if (!($sqlResultat))	 /* SQL-setningen ble ikke utført med vellykket resultat */
		{
			print ("registrering ikke vellykket <br />");
		}
		   else
		{
			print ("Registrering vellykket<br />");
		}

Opphenting av denne informasjonen vil da foregå på samme måte:



  $host="localhost";
  $user="student";
  $password="******";
  $database="student";  


mysql_pconnect($host,$user,$password);	 /* tilkobling til database-serveren utført */
mysql_select_db($database);	 /* valg av database foretatt */
$sqlSetning="SELECT * FROM tabellen";
$sqlResultat=mysql_query($sqlSetning);	 /* SQL-setning sendt til database-serveren */

if (mysql_num_rows($sqlResultat)>=0) /* hvis det er informasjon/lagrede bilder i db */
		{
while($rad = mysql_fetch_array($sqlResultat)){
			print ("<img src='".$rad['filbane']."' >");
}
		}

Tror det blir noe slikt.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...