Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Problem ze wstawieniem zmiennej
poszedl
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.03.2009

Ostrzeżenie: (0%)
-----


Witam,
Mam taki oto problem.
Mam zmienną, która sobie przechodzi pomiędzy formularzami i na pewno przechodzi dobrze bo wyświetlam ją sobie testowo na stronach.
Problem mam, kiedy tą zmienną chcę albo insertem albo updatem wrzucić do tabeli. Do tabeli wrzuca wartość 0. I niestety nie wiem dlaczego.
Generalnie skrypt działa, bo jak podstawię stałą wartość to jest umieszczana poprawnie w tabali. Natomiast ze zmienną się wali.
Jakbym mógł prosić o małą wskazówkę.
Kod poniżej.
<?php
include ("config.inc");
include("$HeaderNowaAnkieta");
session_start();
if ( isset($_GET['logout']) )
{
switch($_GET['logout'])
{
case "tak":
//$_SESSION = array();
session_unset();
session_destroy();
break;
default:
break;
}
}

if ($_GET['dopisz']=='tak')
{
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$link = mysql_connect("$host", "$username", "$password")
or die("Unable to connect to SQL server");
mysql_select_db("$db_name") or die("Unable to select database");
$IdAnkieterGlowny = $_GET['IdAnkieterGlowny];
$query = "INSERT INTO listaankiet (DataWypelnienia, AnkieterWypelniajacy, IdAnkieterGlowny, Host, Login, DataWprowadzeniaAnkiety)
VALUES (
'".$_POST['DataWypelnienia']."',
'".$_POST['AnkieterWypelniajacy']."',
,'$IdAnkieterGlowny', '$hostname','".$_SESSION['user_login']."',SYSDATE()
)";

mysql_query($query)
or die("Błąd 1 - listaankiet");


include($RedirectAnkieta);

}
?>

<html>
<head>
<meta content="text/html; charset=ISO-8859-2"
http-equiv="content-type">
<title>Nowa ankieta</title>
</head>
<body style="background-color: rgb(204, 204, 204);">
<form action="NowaAnkieta.php?dopisz=tak" method="post">

<table cellpadding="2" cellspacing="2" border="0"
style="text-align: left; width: 100%;">
<tbody>
<tr>

</tr>
<tr>
<td style="vertical-align: top; height: 50%; width: 50%;">
<table cellpadding="2" cellspacing="2" border="0"
style="width: 100%; text-align: left; margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td
style="background-color: rgb(15, 0, 0); text-align: center; vertical-align: middle; height: 50%; width: 50%;"><span
style="font-weight: bold; color: rgb(255, 255, 255);">Dane ankiety</span><br>
</td>
</tr>
</tbody>
</table>
<div style="text-align: center;"><span
style="font-weight: bold; color: rgb(51, 51, 153);">Data wypełnienia akiety<br></span>
<input type="text" name="DataWypelnienia" size="45"
maxlength="45"><br>
<div style="text-align: center;"><span
style="font-weight: bold; color: rgb(51, 51, 153);">Ankieter wypełniający ankietę<br></span>
<input type="text" name="AnkieterWypelniajacy" size="45"
maxlength="45"><br>

</td>
</tr>
</tbody>
</table>
<?php echo $IdAnkieterGlowny;?>
//testowe wyswietlenie wartosci zmiennej - jest OK
<hr style="width: 100%; height: 2px;">
<hr style="width: 100%; height: 2px;">
<table cellpadding="2" cellspacing="2" border="0"
style="text-align: left; width: 20%;">
<tbody>
<tr>
<td style="vertical-align: top;">
<p><input type="submit" name="submit" value="Dodaj ankietę"> </p>
</td>
<td style="vertical-align: top;">
<p><input type="reset" name="reset" value="Anuluj wprowadzone dane"> </p>
</td>
</tr>
</tbody>
</table>


</form>

</body>
</html>

Dziękuję za wszelkie wskazówki, bo coś utknąłem a zaliczenie się zbliża.
Piotrek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nitek
post
Post #2





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


z tego co widze, masz skopane zapytanie
Kod
$query = "INSERT INTO listaankiet (DataWypelnienia, AnkieterWypelniajacy, IdAnkieterGlowny, Host, Login, DataWprowadzeniaAnkiety)
VALUES (
'".$_POST['DataWypelnienia']."',
'".$_POST['AnkieterWypelniajacy']."',
,'$IdAnkieterGlowny', '$hostname','".$_SESSION['user_login']."',SYSDATE()
)";


zmień na:
Kod
$query = "INSERT INTO listaankiet (DataWypelnienia, AnkieterWypelniajacy, IdAnkieterGlowny, Host, Login, DataWprowadzeniaAnkiety)
VALUES ('".$_POST['DataWypelnienia']."','".$_POST['AnkieterWypelniajacy']."','$IdAnkieterGlowny','$hostname','".$_SESSION['user_login']."',SYSDATE())";


miales dwa przecinki przed IdAnkieterGlowny...

do tego dochodzi druga sprawa.z doświadczenia wiem, że nieraz nie powinno tak samo nazywać się zmiennych, jak masz je przekazane przez tablicę GET, czyli sprobuj zmienic nazwe zmiennej, np. na:

Kod
$IdAnkieterGl = $_GET['IdAnkieterGlowny];


oczywiście zmiany dokonaj w całym kodzie...

Ten post edytował nitek 15.03.2009, 22:14:35
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 06:12