webForumDet fria alternativet

Problem med databaskoppling

4 svar · 318 visningar · startad av Blockqoute

BlockqouteMedlem sedan dec. 200380 inlägg
#1

Jag håller på med en sida där man skall kunna skriva upp sig på ett nyhetsbrev. Först har jag en html-sida med lite JavaScript som innehåller själva formuläret. Denna filen heter index.htm.

Just nu är "Skicka"-knappen kopplad så att när man klickar på den så kommer man vidare till en PHP-sida som innehåller en koppling till en databas. Denna filen heter databas.php.

Problemet ligger i att jag inte vet hur jag skall göra med databasen som jag tänkte skapa i MySQL m.h.a. PHPMyAdmin. Jag vet inte hur jag skall skapa databasen och utforma den och jag vet inte heller var den skall placeras eller dylikt för att kunna kopplas till PHP-sidan. Jag har försökt lite olika men inte lyckats och undrar även om det är något fel på någon utav sidorna ovan. Dessa båda filer finns bifogade. Men jag har skrivit ihop dem till en enda fil som heter index.txt. Först kommer koden till formulär sidan och efter det koden till php sidan. Detta p.g.a. att inlägget blev för långt annars. Snälla, jag behöver verkligen hjälp med detta, har suttit i två veckor och enbart funderat på detta.

BlockqouteMedlem sedan dec. 200380 inlägg
#2

Finns det verkligen ingen som kan hjälpa mig med hur jag skall skapa en databas till denna sida samt hur jag kopplar ihop dem?

QimenMedlem sedan juni 20015 009 inlägg
BlockqouteMedlem sedan dec. 200380 inlägg
#4

Jag har nu kommit en bit till på vägen. Jag kan tyvärr bara erbjuda länken till formulärsidan, har ingenstans att lägga upp PHP-sidan som klarar av PHP. Hur den koden ser ut nu kan jag bara erbjuda i kodform på denna sida:

<?php 

if(isset($satt_in)){ 
$datum=date("Y:h:m H:i:c"); 
$intressen=$varlden." ".$politik." ".$sport." ".ekonomi." ".$noje; 
$databas_id=@mysql_connect("localhost","","")or 
die("Misslyckad anslutning!"); 
mysql_select_db("lab4"); 

$sql="insert into nyhetsbrev(fornamn,efternamn,epost,intressen,periodicitet)values('$fornamn',$efternamn','$epost','$intressen','$datum')"; 
mysql_query($sql) or die("Det gick inte att lägga in"); 
mysql_close($databas_id); 
header("Location:databas.php"); 
} 

function lagg_till(){ 
echo "<form name='skrivin' method='post' action='' onSubmit='return kontroll();'>"; 
echo "<p>Förnamn:<br>"; 
echo "<input type='text' name='fornamn'>"; 
echo "<br>"; 
echo "<br>"; 
echo "Efternamn:<br>"; 
echo "<input type='text' name='efternamn'>"; 
echo "<br>"; 
echo "<br>"; 
echo "Epost:<br>"; 
echo "<input type='text' name='epost' value='@dd.se'>"; 
echo "<br>"; 
echo "<br>"; 
echo "Intressen:"; 
echo "<br>"; 
echo "<input type='checkbox' name='varlden' value='Världen'> Världen"; 
echo "<br>"; 
echo "<input type='checkbox' name='politik' value='Politik'> Politik"; 
echo "<br>"; 
echo "<input type='checkbox' name='sport' value='Sport'> Sport"; 
echo "<br>"; 
echo "<input type='checkbox' name='ekonomi' value='Ekonomi'> Ekonomi"; 
echo "<br>"; 
echo "<input type='checkbox' name='noje' value='Nöje'> Nöje"; 
echo "<br>"; 
echo "<br>"; 
echo "<br>"; 
echo "<input type='submit' name='satt_in' value='Lägg till'>"; 
echo "</p>"; 
echo "</form>"; 
} 

function visa_data(){ 
$databas_id=@mysql_connect("localhost","","")or 
die("Misslyckad anslutning!"); 
$sql="select * from nyhetsbrev"; 
$result=mysql_query($sql); 
mysql_close($databas_id); 
} 
?> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

<html> 
<head> 
<title>Nyhetsbrev version 2</title> 

<script language="JavaScript"> 
function kontroll(){ 
var epost = document.matain.epost.value; 

if((epost == "") || (epost.indexOf('@') == -1) || (epost.indexOf('.') == -1)){ 
alert ("Skriv in en giltlig E-post!"); 
return false; 
} 
} 
</script> 

</head> 
<body>
<p>Lägg till och visa data.<br>
  <br>
  <form method="post" action="databas.php?action=laggtill">
  <input type="submit" name="Submit" value="Skriv in data">
  </form>
</p>
<form method="post" action="databas.php?action=visa">
  <input type="submit" name="Submit" value="Visa data">
</form>
<hr>
<p>
<?php 
//Anropar de olika funktionerna beroende på vilken länk användaren klickat på. 
if($action=="laggtill"){ 
lagg_till(); 
}elseif ($action=="visa"){ 
visa_data(); 
} 

?> 
<p>&nbsp;</p> 

</body> 
</html>

Det fungerar bra att länka ihop formulärsidan med PHP-sidan, men jag vet inte om sidan tar med sig alla variabler till den sidan. Alltså från att man klickar på Skicka-knappen på summeringen till att sidan hoppar vidare till PHP-sidan vet jag inte om sidan tar med sig innehåller i variablerna eller hur man skall göra för att få med dom. Sedan när jag klickar på de två länkar som finns på PHP-sidan så händer inget, programmet står bara kvar på samma ställe. Är det någonstans det är fel i koden eller?

Länken till sidan är: http://portal.miun.se/~laol0200/formular.htm

BlockqouteMedlem sedan dec. 200380 inlägg
#5

Detta kanske inte ens går att göra?

135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)