Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
powtórne wysyłanie zmiennych po odświeżeniu [PHP+HTML]
|
Liczba postów: 3
Liczba wątków: 1
Dołączył: 09-03-2011
Reputacja:
0
18-03-2011, 04:22
(Ten post był ostatnio modyfikowany: 26-03-2011, 01:51 przez Mummer.)
Witam serdecznie
Pisze dziennik w php i natrafiłem na problem z wysłaniem zmiennej z formularza do dwóch różnych plików w php, jeden z nich jest podany w formularzu <form action="coś.php" method=POST> i z tym plikiem nie ma problemu lecz gdy chcę wysłać zmienną do drugiego pliku powiedzmy coś2.php za pomocą
$_POST['nazwa_zmiennej_z_formularza']=$_SESSION['zmienna_do_coś2.php']
w pliku coś2.php nie udaje mi się jej odczytać.
Proszę o pomoc w wysłaniu tej zmiennej do innego pliku
Z góry dziękuje
ps oprócz wysłania za pomocą sesji próbowałem post i get z tym samym skutkiem
Liczba postów: 340
Liczba wątków: 38
Dołączył: 28-04-2010
Reputacja:
15
POST i GET nie zadziała. Sesja zadziała tylko wtedy jak uruchomisz ją czyli polecenia session_start(); ob_start();
Zawsze możesz podejrzeć zawartość dowolnej zmiennej za pomocą print_r($zmienna); - bardzo ładnie przedstawi Ci zawartość dowolnej zmiennej.
Jak pomogłem daj '+'. To nie boli, a ja mam satysfakcję
Any sufficiently advanced technology is indistinguishable from magic.
Liczba postów: 2,587
Liczba wątków: 2
Dołączył: 03-04-2010
Reputacja:
58
Liczba postów: 3
Liczba wątków: 1
Dołączył: 09-03-2011
Reputacja:
0
Dziękuje za odpowiedź rzeczywiście zapomniałem o ob_start
Mam teraz jeszcze jeden problem otóż chodzi o to że gdy wysyłam formularz to ładnie pięknie dopisuje ocene do bazy danych lecz gdy ktoś zapragnie odświeżyć stronę to dopisuje jeszcze raz co z tym zrobić
Proszę o wytłumaczenie łopatologiczne bo szukałem i nic nie znalazłem
Oto kod
Kod: <?php
session_start();
ob_start();
if ((isset($_SESSION['user_logged'])&&
$_SESSION['user_logged'] !="")||
(isset($_SESSION['user_password'])&&
$_SESSION['user_password'] !="")) {
$uczen=$_SESSION['pupil'];
include "login_database.php";
echo $uczen;
// sprawdzam czy zostały wysłane zmienne z formularza
if (isset($_POST['mark'])&&isset($_POST['subject'])){
$sub=$_POST['subject'];
$mark=$_POST['mark'];
//sprawdzam które pole w bazie jest wolne domyślnie wszystkie sa wypełnione zerami, a w bazie nagłówki to po prostu kolejne liczby od 1 do 30
for ($polnum=1; $polnum<31;){
$markcheck= "select `$polnum` FROM $uczen WHERE przedmiot = \"$sub\" ";
$show= mysql_query($markcheck);
while ($check= mysql_fetch_array($show )){
//echo $check[0];
if ($check[0]!=0)
{
$polnum++;
}else{
//gdy jest równe zero czyli puste pole bez oceny wpisuje ocene
$update="UPDATE `$uczen` SET `$polnum` = $mark where przedmiot = \"$sub\" ";
$insert= mysql_query($update);
break 2;
}}
}}
?>
<?php
$query="SELECT * FROM $uczen";
$present = mysql_query("$query") or die(mysql_error());
echo "<table border=1>\n";
echo "<tr>\n";
$pola=" SHOW COLUMNS FROM $uczen ";
$list = mysql_query("$pola") or die(mysql_error());
while ($rowsub = mysql_fetch_assoc($list)){
echo "<th>";
echo "<font size=\"2\">";
echo $rowsub['Field'];
echo "</font>";
echo "</th>" ;
}
while ($row = mysql_fetch_assoc($present)){
echo "<tr>\n";
foreach($row as $value){
echo "<td>\n";
echo $value;
echo "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
}
?>
<form action=edit_student.php method=POST >
Wybierz przedmiot:
<select name=subject>
<br >
<option value="" selected> wybierz przedmiot</option>
<br />
<?php
$query="SELECT przedmiot FROM $uczen";
$present = mysql_query("$query") or die(mysql_error());
while ($row = mysql_fetch_array($present)) {
//echo "{}\n";
//$a="{$row[0]}\n";
echo '<option value="'.$row[0].'">'.$row[0].'</option>'."\r\n";
}
?>
</select>
<br />
<select name=mark >
<option value="" selected> wybierz ocene</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="2,5">2,5</option>
<option value="3">3</option>
<option value="3,5">3,5</option>
<option value="4">4</option>
<option value="4,5">4,5</option>
<option value="5">5</option>
<option value="5,5">5,5</option>
<option value="6">6</option>
</select>
<br>
<input type="submit" name="SUBMIT" value="Wybierz">
</form>
Dziękuje z góry za pomoc
Liczba postów: 2,587
Liczba wątków: 2
Dołączył: 03-04-2010
Reputacja:
58
Google.pl => post/redirect/get
Liczba postów: 3
Liczba wątków: 1
Dołączył: 09-03-2011
Reputacja:
0
Myślałem o tym tylko jak to zrobić bo chodzi o to aby użytkownik mógł dodać kolejną ocenę ale nie dodawała sie ostatnio wybrana opcja po odświeżeniu. O ile sie nie myle to metoda którą mi przesłałeś na to nie pozwala bo na końcu otrzymujemy tylko wynik. Chyba że ze strony wynikowej znowu sie przekierowac na pierwsza czyli ta z mozliwościa dodania danych, ale czy to ma sens?
Liczba postów: 2,587
Liczba wątków: 2
Dołączył: 03-04-2010
Reputacja:
58
A przeczytałeś choć cokolwiek? Możesz sobie ustawić przekierowanie jak chcesz + ewentualną wiadomość.
Liczba postów: 340
Liczba wątków: 38
Dołączył: 28-04-2010
Reputacja:
15
@Mummer: tak to ma sens. Robisz dwie strony:
1. formularz (action="strona2") $dodano=1;
2. if($dodano==0){dodanie_do_bazy(); $dodano=1;}else {echo "Dodano już do bazy"} i powrót do jeden.
Pisane pseudokodem na szybko ale mam nadzieję, że rozumiesz o co mi chodzi.
Jak pomogłem daj '+'. To nie boli, a ja mam satysfakcję
Any sufficiently advanced technology is indistinguishable from magic.
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
Jak zrobć POP-UP w html/php i proste pytanko html? |
MrOMGWTF |
7 |
5,567 |
01-05-2021, 10:56
Ostatni post: wozniak
|
|
Strona HTML na zaliczenie - dodaj, usuń, edytuj |
Kurana |
1 |
2,089 |
01-07-2019, 03:31
Ostatni post: mpire
|
|
[HTML] Filmik zamiast obrazka wyróżniającego |
kuklaale |
1 |
2,757 |
02-11-2016, 18:36
Ostatni post: martt4dg
|
|
Problem zm osadzeniem skryptu lighbox w kodzie html |
gajowy873 |
2 |
3,709 |
24-09-2016, 02:22
Ostatni post: Anatol64
|
|
[CSS][HTML] Ustawienie obrazka z boku strony |
Witek7777 |
8 |
8,476 |
22-09-2016, 01:05
Ostatni post: pocahontas
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|