Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  9 3987
hei,

eg prøver for tiden å å lage en dynamisk nettside, men det er problem eg sliter med.

boksene inne i <form> taggen funker fett, men etter det stopper det. informasjonen i <form> boksene blir ikke sendt videre.

Kode

<?php 
$link = mysqli_connect("localhost","root","","tottenham");
if (mysqli_connect_errno()){
	printf("Connect failed: %s\n", mysqli_connect_error());
	exit();
}
$sql = "SELECT klubb.idklubb, klubb.navn, klubb.land, spiller.forrigeklubb FROM klubb, spiller
WHERE spiller.forrigeklubb = klubb.idklubb";
$datasett = $link->query($sql);

if(isset($_POST["send"])){
	$sql = sprintf("INSERT INTO spiller(navn, fodselsdato, alder, fodested, nasjonalitet, posisjon, hoyde, forrigeklubb, draktnummer, fot) VALUES ('%s',''%s', %s','%s','%s','%s','%s','%s','%s','%s')",
		$link->real_escape_string($_POST["txtNavn"]),
		$link->real_escape_string($_POST["txtDato"]),
		$link->real_escape_string($_POST["txtAlder"]),
		$link->real_escape_string($_POST["txtNasjon"]),
		$link->real_escape_string($_POST["txtBy"]),
		$link->real_escape_string($_POST["txtPos"]),
		$link->real_escape_string($_POST["txtHeigth"]),
		$link->real_escape_string($_POST["txtKlubb"]),
		$link->real_escape_string($_POST["txtNummer"]),
		$link->real_escape_string($_POST["txtFot"]));
	$link->query($sql);
	header("location: vilTilbake.html");
}?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="stilark.css">
<title>Tottenham Hotspur FC</title>
</head>
<body>
	<div id="banner"><img src="spurs-hel.png" width="100%" height="140"/></div>
	<div id="logo"><img src="spurs sidestykke.png" width="123" height="140" alt=""/></div> 
    <div id="sideSlutt"></div>
    <div id="meny1"><a href="spillerliste.php"><img src="spillerListe.png"/></a></div>
    <div id="lagBilde">
		<form action="" method="post">
			<p>
			Navn:<input type="text" name="txtNavn" required><br>
   			Fødselsdato:<input type="date" name="txtDato" required><br>
 	  		Alder:<input type="number" name="txtAlder" required><br>
   			Nasjonalitet:<input type="text" name="txtNasjon" required><br>
   			Fødested:<input type="text" name="txtBy" required><br>
			Høyde:<input type="text" name="txtHeigth" required><br>
    	    Posisjon:<input type="text" name="txtPos" required><br>
			Draktnummer:<input type="number" name="txtNummer" min="1" max="99" required><br>
			Fortrukket fot:<select name="txtFot" required>
            	<option label=" " selected value></option>
            	<option value="venstre">Venstre</option>
                <option value="høyre">Høyre</option>
                <option value="begge">Begge</option>
            	</select><br>
			Forrige klubb:<select name="txtKlubb">
            	<?php while($rad = mysqli_fetch_array($datasett)){?>
                	<option value="<?php echo $rad["forrigeklubb"]; ?>">
                    	<?php echo $rad["navn"]; echo ", "; echo $rad["land"];?></option>
                <?php }?>  
            	</select><br><br>
			<input type="submit" name="send" value="Legg til spiller">
			</p>
    	</form>
    </div>
</body>
</html>
takk!
Sur og sarkastisk
droppboks's Avatar
Hva mener du med sendt videre? Hva prøver du gjøre, og hvor feiler det?
Trådstarter
2 0
her er databasen:
https://gyazo.com/6679ee206e0db1830e70dcdb54b48cb9
https://gyazo.com/4856c2a56eb45e3963cecc54e09e621b

foreign key: spiller.forrigeklubb -> klubb.idklubb
Sitat av tacokjell Vis innlegg
hei,

eg prøver for tiden å å lage en dynamisk nettside, men det er problem eg sliter med.

boksene inne i <form> taggen funker fett, men etter det stopper det. informasjonen i <form> boksene blir ikke sendt videre.

Kode

<?php 
$link = mysqli_connect("localhost","root","","tottenham");
if (mysqli_connect_errno()){
	printf("Connect failed: %s\n", mysqli_connect_error());
	exit();
}
$sql = "SELECT klubb.idklubb, klubb.navn, klubb.land, spiller.forrigeklubb FROM klubb, spiller
WHERE spiller.forrigeklubb = klubb.idklubb";
$datasett = $link->query($sql);

if(isset($_POST["send"])){
	$sql = sprintf("INSERT INTO spiller(navn, fodselsdato, alder, fodested, nasjonalitet, posisjon, hoyde, forrigeklubb, draktnummer, fot) VALUES ('%s',''%s', %s','%s','%s','%s','%s','%s','%s','%s')",
		$link->real_escape_string($_POST["txtNavn"]),
		$link->real_escape_string($_POST["txtDato"]),
		$link->real_escape_string($_POST["txtAlder"]),
		$link->real_escape_string($_POST["txtNasjon"]),
		$link->real_escape_string($_POST["txtBy"]),
		$link->real_escape_string($_POST["txtPos"]),
		$link->real_escape_string($_POST["txtHeigth"]),
		$link->real_escape_string($_POST["txtKlubb"]),
		$link->real_escape_string($_POST["txtNummer"]),
		$link->real_escape_string($_POST["txtFot"]));
	$link->query($sql);
	header("location: vilTilbake.html");
}?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="stilark.css">
<title>Tottenham Hotspur FC</title>
</head>
<body>
	<div id="banner"><img src="spurs-hel.png" width="100%" height="140"/></div>
	<div id="logo"><img src="spurs sidestykke.png" width="123" height="140" alt=""/></div> 
    <div id="sideSlutt"></div>
    <div id="meny1"><a href="spillerliste.php"><img src="spillerListe.png"/></a></div>
    <div id="lagBilde">
		<form action="" method="post">
			<p>
			Navn:<input type="text" name="txtNavn" required><br>
   			Fødselsdato:<input type="date" name="txtDato" required><br>
 	  		Alder:<input type="number" name="txtAlder" required><br>
   			Nasjonalitet:<input type="text" name="txtNasjon" required><br>
   			Fødested:<input type="text" name="txtBy" required><br>
			Høyde:<input type="text" name="txtHeigth" required><br>
    	    Posisjon:<input type="text" name="txtPos" required><br>
			Draktnummer:<input type="number" name="txtNummer" min="1" max="99" required><br>
			Fortrukket fot:<select name="txtFot" required>
            	<option label=" " selected value></option>
            	<option value="venstre">Venstre</option>
                <option value="høyre">Høyre</option>
                <option value="begge">Begge</option>
            	</select><br>
			Forrige klubb:<select name="txtKlubb">
            	<?php while($rad = mysqli_fetch_array($datasett)){?>
                	<option value="<?php echo $rad["forrigeklubb"]; ?>">
                    	<?php echo $rad["navn"]; echo ", "; echo $rad["land"];?></option>
                <?php }?>  
            	</select><br><br>
			<input type="submit" name="send" value="Legg til spiller">
			</p>
    	</form>
    </div>
</body>
</html>
takk!
Vis hele sitatet...
Tipper at du mangler «`» tegn på navnene til MySQL radene i INSERT setningen din. Slik:

Kode

[...] INSERT INTO spiller(`navn`, `fodselsdato`, `alder`, `fodested`, [...]
Du bør også passe å lukke MySQL tilkoblingen etter bruk.
Har du forøvrig forsøkt å bruke et rammeverk til php? Vet det ikke er noe du spør etter, men rammeverkene holder virkelig hånden din store deler av veien med god dokumentasjon. Enkleste rammeverket til php jeg har sett hittil er Codeigniter 3, men dette er et VELDIG subjektivt tema.
Sist endret av Patrick; 18. april 2016 kl. 00:21.
Sitat av Patrick Vis innlegg
Har du forøvrig forsøkt å bruke et rammeverk til php? Vet det ikke er noe du spør etter, men rammeverkene holder virkelig hånden din store deler av veien med god dokumentasjon. Enkleste rammeverket til php jeg har sett hittil er Codeigniter 3, men dette er et VELDIG subjektivt tema.
Vis hele sitatet...
Rammeverk er fint, men totalt unødvendig når man skal lære seg det grunnleggende og hvordan ting fungerer og henger sammen.

EDIT: Nå vet jeg ikke hvor erfaren TS er, men utfra koden han postet så tipper jeg han er rimelig fersk innen faget.
Sist endret av 0xFF; 18. april 2016 kl. 00:50.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Om du må bruke PHP, som frarådes på det sterkeste, bruk i hvert fall PDO og ikke mysql_x-funksjonene.
Sitat av robhol Vis innlegg
Om du må bruke PHP, som frarådes på det sterkeste, bruk i hvert fall PDO og ikke mysql_x-funksjonene.
Vis hele sitatet...
Kanskje du kan gi en forklaring på hvorfor du fraråder PHP på det sterkeste? PHP holder da i massevis for de aller fleste. Ja, det har en tendens med å kunne bli fort rotete, men det har mye med deg som programmerer å gjøre.
Men tilbake til topic.

Tacokjell:
Prøv å sett dette i action i form-taggen din:
<?php echo $_SERVER['PHP_SELF']; ?>

Ser også at i slutten av denne:
if(isset($_POST["send"])){
så gjør du dette:
header("location: vilTilbake.html");

Bare for å spørre, hva heter filen som du har lagt koden din i? Altså dette skjemaet og det som håndterer at skjemaet har blitt sendt inn?

Et tips er også å sette på error meldinger, da kanskje du kan se hvor problemet ditt er om ikke det er noe av deg jeg har foreslått.
Sitat av robhol Vis innlegg
Om du må bruke PHP, som frarådes på det sterkeste, bruk i hvert fall PDO og ikke mysql_x-funksjonene.
Vis hele sitatet...
Har hørt mye av disse utsagnene i det siste. Hva er galt med PHP og hva foreslår du som erstatning? Er ganske fersk selv og vil ikke tilegne meg kunnskap om et språk som er på vei ut.

//Offtopic
Sitat av Quasar Vis innlegg
Har hørt mye av disse utsagnene i det siste. Hva er galt med PHP og hva foreslår du som erstatning? Er ganske fersk selv og vil ikke tilegne meg kunnskap om et språk som er på vei ut.

//Offtopic
Vis hele sitatet...
Ikke hør på slike utsagn. Det er ingenting galt med PHP. Grunnlaget for at folk sier slikt er fordi PHP begynner å bli et modent språk og er derfor ikke lenger like kult. PHP er et kraftig språk og barrieren for å lære er lav. Javascript/PHP er kanskje de nyttigste språkene en nybegynner kan lære seg per dags dato.

Uansett hva du velger å lære deg så har ikke logikken endret seg betraktelig siden 60 tallet. Uansett hvilket språk du lærer nå, gir kunnskap til senere når du får lyst til å utforske flere språk.

Sitat av 0xFF Vis innlegg
Rammeverk er fint, men totalt unødvendig når man skal lære seg det grunnleggende og hvordan ting fungerer og henger sammen.

EDIT: Nå vet jeg ikke hvor erfaren TS er, men utfra koden han postet så tipper jeg han er rimelig fersk innen faget.
Vis hele sitatet...
Dette synes jeg er litt avhengig av rammeverket. En rykende fersk student som hiver seg ut i javascript og begynner med Angularjs vil virkelig slite med konseptet, uten tvil, så der er jeg helt enig med deg. Men det gjelder ikke alle rammeverk til alle språk.

PHP er et ganske "rotete" språk hvis man ikke bruker diverse konsept som MVC/MVVM til å organisere programmets struktur, og det er nettopp her et rammeverk som codeigniter skinner. Ikke bare tvinger det deg til å gjøre det skikkelig, men dokumentasjonen er samtidig ganske heftig.
Sist endret av Patrick; 19. april 2016 kl. 11:33. Grunn: Automatisk sammenslåing med etterfølgende innlegg.