webForumDet fria alternativet

varför sparas det inget med denna koden?

PHP

7 svar · 262 visningar · startad av jiggan

Medlem sedan juni 2003175 inlägg
Frågan#1

har felsökt nu i över en timme...varför hamnar bara dagens datum i databasen? allting går som det ska och jag får inget felmedellande heller...så här ser koden ut som sparar infon:

<?php
$link = mysql_connect ("127.0.0.1", "root", "");
$sql="INSERT INTO admin (admin, text, datum, tid) VALUES
('" . $_POST['admin']. "', '" . $_POST['text']. "', '" . date('Ymd') . "', '" . date('H:i') . "')";

mysql_select_db("mysql", $link);
$resultat = mysql_query($sql, $link);
if (!$resultat) {
echo 'Något gick åt helvete. <br>';
echo mysql_error();
}
else
{
header("Location: admin_index.php");
}
mysql_close ($link);
?>

--------------------------

så här ser koden för formuläret ut:

-----------------------------------

<form method="post" action="save_news.php">
<b>Admin:</b> <input type="text" name="admin" size=20>
<br>
<br>
<b>Nyhet:</b> <textarea name="text" cols="25" rows="4"></textarea>
<BR>
<input type="submit" name="skicka" value="Posta"
style="border: 1px solid; font-family: Arial Narrow; font-size: 10px">
<hr>

</form>

------------------------------

NEED HELP!!
//jiggan

Medlem sedan maj 20002 993 inlägg
#2

Det var riktigt länge sedan jag höll på med PHP, men borde du inte skicka med en timestamp till date()?

Medlem sedan juni 2003175 inlägg
#3

nej, ska inte behövas...måste lösa detta problem!

Medlem sedan juli 2002405 inlägg
#4

Du måste väl skriva

<?
if($skicka){
$link = mysql_connect ("127.0.0.1", "root", "");
$sql="INSERT INTO admin (admin, text, datum, tid) VALUES
('" . $_POST['admin']. "', '" . $_POST['text']. "', '" . date('Ymd') . "', '" . date('H:i') . "')";

mysql_select_db("mysql", $link);
$resultat = mysql_query($sql, $link);
if (!$resultat) {
echo 'Något gick åt helvete. <br>';
echo mysql_error();
}
else
{
header("Location: admin_index.php");
}
mysql_close ($link);
}
?>

Så den vet att den ska spara informationen när knappen Posta med värdet "skicka" trycks ned.

Medlem sedan juni 2003175 inlägg
#5

hjälpte inte heller...vad kan då vara fel? jag har testat att köra en echo på formuläret och får inte ut nåt...vad kan du vara fel?

Medlem sedan maj 20023 372 inlägg
#6

Testa:

$sql="INSERT INTO admin (admin, text, datum, tid) VALUES 
('$admin','$text', '" . date('Ymd') . "', '" . date('H:i') . "')";

P.s eventuellt så bör du inte kalla databaskolumnen "text" då det kan vara ett reserverat ord *osäker*

Hm..såg nu att du skriver att du inte får nåt när du echo:ar ut variablerna, det var konstigt, jag tycker att det ser helt rätt ut. Slut FORM taggen har du med också.

Testa igen

<?
echo $admin;
echo $text;
?>
Medlem sedan aug. 20002 975 inlägg
#7

Har du en form-tagg som ligger och skräpar tidigare på sidan? Formulär i formulär funkar inte.

För att testa om några variabler skickas från formuläret:
Lägg följande i början av koden

echo "\$_POST-variabler:<br>";
echo "<pre>";
print_r($_POST);
echo "</pre>";

Ger MySQL ifrån sig några felmeddelande?

mysql_select_db("mysql", $link); 
$resultat = mysql_query($sql, $link) or die("SQL: $sql <br>".mysql_error());
Medlem sedan juni 2003175 inlägg
#8

pellefants förslag funkade! med echo $admin; kanon! tack så mycket för hjälpen allesammans! //jiggan

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)