Avatar billede cskott Nybegynder
06. november 2009 - 14:40 Der er 17 kommentarer og
1 løsning

Gemmer ikke data i databasen

Hej
Jeg har følgende script der skulle indsætte data i databasen.
Men det funger ikke. Den kommer ikke med nogen fejl, den gemmer bare ikke i db'en.
I databasen har jeg lavet tabellen aabningstider som indeholder id, ugedag, tid.

<?PHP

$db = mysql_connect("localhost", "xx", "xx");
mysql_select_db("xx", $db);


if ($ny_aabningstid){
echo "<center><BR><BR><h4>Åbningstiden er tilføjet!</h4></center>";
echo "<script>parent.frames['main'].location='tilfojaabningstid.php';</script>";

mysql_query("INSERT INTO aabningstider (ugedag, tid) VALUES ('$aabnings_ugedag', '$aabnings_tid')");
} else {
?>
Lokalbrugsen
<br>
Åbningstider
Tilføj Åbningstid:
<FORM METHOD=POST ACTION=<? echo $PHP_SELF; ?>>
<INPUT TYPE=hidden NAME=ny_aabningstid value=1>
<b>Ugedag:</b> <br>
<INPUT TYPE=text size=15 NAME=aabnings_ugedag><br>
<b>Tid:</b><br>
<INPUT TYPE=text size=15 NAME=aabnings_tid><br>

<BR>
<INPUT TYPE="SUBMIT" VALUE="Tilføj"><INPUT TYPE="RESET" VALUE="Fortryd">
</FORM>
<?
}

?>
Avatar billede michael_stim Ekspert
06. november 2009 - 14:47 #1
1. Hvad er $aabnings_tid?
2. Får du nogen fejl?
3. $PHP_SELF skal være $SERVER['PHP_SELF']
4. Skriv din SQL ud istedet for at køre den. Så ser du om alle varaibler kommer med.
5. Sæt en or die(mysql_error()) efter din mysql_query
Avatar billede michael_stim Ekspert
06. november 2009 - 14:49 #2
Manglede lige en _
$_SERVER['PHP_SELF']
Avatar billede michael_stim Ekspert
06. november 2009 - 14:57 #3
1'eren skulle være: Hvad er $ny_aabningstid. Hvor kommer den fra? Kommer du overhovedet ind i din if?
Avatar billede michael_stim Ekspert
06. november 2009 - 14:59 #4
Er det fra denne: <INPUT TYPE=hidden NAME=ny_aabningstid value=1>

Skal du have $_POST['ny_aabningstid']

6. Du glemmer "

<INPUT TYPE="hidden" NAME="ny_aabningstid" value="1">
Avatar billede michael_stim Ekspert
06. november 2009 - 15:02 #5
Du har jo fået det meste at vide før:
http://www.eksperten.dk/spm/891722

Du bliver nød til at tage det vi siger til dig.

Hvilken bog går du efter? En fra slutningen af 90'erne?
Avatar billede cskott Nybegynder
06. november 2009 - 15:05 #6
Nu har jeg prøvet at indsætte $SERVER['PHP_SELF'] det hjalp ikke. Jeg forstår bare ikke at det ikke virker mere. For jeg har brugt det før.
Avatar billede cskott Nybegynder
06. november 2009 - 15:12 #7
Jeg tager skam alt det til mig jeg overhovedet kan :-)
Jeg har prøvet at sætte en or die(mysql_error()) efter mysql_query så gik den i fejl
Avatar billede cskott Nybegynder
06. november 2009 - 15:27 #8
nu har jeg prøvet at ændre lidt på det men det virker ikke, men det kommer heller ikke med nogen fejl.

<?PHP

$db = mysql_connect("localhost", "xx", "xx");
mysql_select_db("xx", $db);


if ($ny_aabningstid){
echo "Åbningstiden er tilføjet!</h4></center>";
echo "<script>parent.frames['main'].location='tilfojaabningstid.php';</script>";

mysql_query("INSERT INTO aabningstider (ugedag, tid) VALUES ('$aabnings_ugedag', '$aabnings_tid')");
} else {
?>
Lokalbrugsen
<br>
Åbningstider
Tilføj Åbningstid:
<FORM METHOD=POST ACTION=<? echo $_SERVER['PHP_SELF'] ?>>
<INPUT TYPE="hidden" NAME="$_POST['ny_aabningstid']" value="1">
<b>Ugedag:</b> <br>
<INPUT TYPE=text size=15 NAME=aabnings_ugedag><br>
<b>Tid:</b><br>
<INPUT TYPE=text size=15 NAME=aabnings_tid><br>

<BR>
<INPUT TYPE="SUBMIT" VALUE="Tilføj"><INPUT TYPE="RESET" VALUE="Fortryd">
</FORM>
<?
}

?>
Avatar billede michael_stim Ekspert
06. november 2009 - 15:29 #9
Det er ikke i din input du skal have $_POST, men i din if.
Avatar billede cskott Nybegynder
06. november 2009 - 15:41 #10
nu har jeg gjort dette men virker stadig ikke

if ($_POST['ny_aabningstid']){
echo "<center><BR><BR><h4>Åbningstiden er tilføjet!</h4></center>";
echo "<script>parent.frames['main'].location='tilfojaabningstid.php';</script>";

mysql_query("INSERT INTO aabningstider (ugedag, tid) VALUES ('$aabnings_ugedag', '$aabnings_tid')");
} else {
?>
Avatar billede dkfire Nybegynder
07. november 2009 - 11:52 #11
Til #7: Hvis du nu skriver hvilken fejl den kom med, så ville det jo hjælpe utrolig meget.

Der ud over, når du vil bruge noget fra en html form så skal du enten bruge $_POST['boxensnavn'] eller $_GET['boxensnavn'] alt efter om "method" er POST eller GET.

Og når du arbejder med mysql, så brug ALTID "or die(mysql_error());" efter din mysql_query():
$result = mysql_query("INSERT ....") or die(mysql_error());
Avatar billede cskott Nybegynder
08. november 2009 - 17:04 #12
problemet er at den ikke kommer med nogen fejl.
Avatar billede dkfire Nybegynder
09. november 2009 - 00:27 #13
Det du skriver passer slet ikke sammen.
I #7 skriver du:
"Jeg har prøvet at sætte en or die(mysql_error()) efter mysql_query så gik den i fejl"
Og nu skriver du:
"problemet er at den ikke kommer med nogen fejl"

Det giver jo slet ingen mening.
Avatar billede cskott Nybegynder
09. november 2009 - 08:35 #14
Den siger bare at siden ikke kan vises..
Avatar billede dkfire Nybegynder
09. november 2009 - 16:29 #15
Så bliver du jo nød til at vise den kode der gør at siden ikke kan vises.
Dernæst skal du være sikker på at fejlbeskeder udskrives.
Øverst i din php fil, lige efter <?php skriver du

error_reporting(E_ALL);
ini_set("display_errors", 1);
Avatar billede cskott Nybegynder
26. november 2009 - 22:22 #16
Hvis i har lyst må i gerne lægge nogle svar så jeg kan lukke dette spørgsmål
Avatar billede michael_stim Ekspert
26. november 2009 - 22:33 #17
Jeg samler ikke på point.
Avatar billede cskott Nybegynder
02. december 2009 - 08:44 #18
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Rapport kortlægger de 13 bedste muligheder for at sætte turbo på din cloud computing