2016-12-09 1 views
0

Ich muss Werte von einer Zelle innerhalb meiner Hauptseite an eine andere Seite übergeben.Form Post-Methode, die nur Null und 0 auf andere Seite übergibt

Ich habe weitergeben müssen: Monday9.00Usernameweekyear. Letzte 3 in einer Eingabe definiert zurückgegeben NULL in meiner Datenbank. Erste 2 gab 0 zurück. Alle diese Werte sollten auf der Hauptseite bekannt sein, so dass der Benutzer nichts einfügen muss.

Benutzername wird sogar zuvor auf der Hauptseite gedruckt. Eingabe erfordert eine Art von Aktion vom Benutzer? Wenn ja (was die Werte null und 0 erklären könnte), wie kann ich Werte übergeben, ohne dass der Benutzer etwas einfügen muss?

Hier ist der Code und einige Bildschirm beschreibt meine Situation.

// First cell form to pass data to booking.php 
<?php 
    $week = date("W"); 
    $year = (isset($_GET['year']))?$_GET['year']:date("Y"); 
    $week = (isset($_GET['week']))?$_GET['week']:Date('W'); 
    if($week>52){ 
    $year+= 1; 
    $week=1; 
    }elseif($week < 1) { 
     $year--; 
     $week = 52; 
    } 
?> 
<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week-1).'&year='.$year; ?>">Pre Week</a> <!--Settimana Precendete--> 
<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week+1).'&year='.$year; ?>">Next Week</a> <!--Settimana Prossima--> 
<table border="1px" class="WeekLayout"> 
<tr> 
<td>Schedule</td> 
<?php 
if($week < 10) { 
$week = '0'. $week; 
} 

for($day=1; $day<=7; $day++) 
{ 
    $d = strtotime($year."W".$week.$day);       
    echo "<td>".date('l',$d)."<br>"; 
    echo date('d M Y',$d)."</td>"; 
} 
?> 
</tr> 

<form action="Booking.php" method="POST" name="BookingForm" id="BookingForm"> 
<tr class="9"> 
<td>9.00 
</td> 
<td class="free" onclick="Change(this)"><a href="">    </a> 
    <input type="hidden" name="Monday"> 
    <input type="hidden" name="9.00"></td> 
<td class="free" onclick="Change(this)"><a href=""></a></td> 
<td class="free" onclick="Change(this)"><a href=""></a></td> 
<td class="free" onclick="Change(this)"><a href=""></a></td> 
<td class="free" onclick="Change(this)"><a href=""></a></td> 
<td class="free" onclick="Change(this)"><a href=""></a></td> 
<td class="free" onclick="Change(this)"><a href=""></a></td> 
</tr> 
<tr> 
</table> 
<input type="hidden" name="$Username"> 
<input type="hidden" name="$week"> 
<input type="hidden" name="$year"> 
<input value="Prenota" type="submit" class="buttonsubmit" id="Prenota"> 
</form> 
</div> 
//Connection to database 
<?php 
$user = 'root'; 
$password = ''; 
$db = 'elencoprenotazioni'; 
$host = 'localhost'; 
$dblink2 = new mysqli($host, $user, $password, $db) 
or die("Connessione non riuscita: " . mysqli_error()); 
?> 
//Prenotation system 
<?php 
include("Connessione2.php"); 
session_start(); 
$Username = $_POST['Username']; 
$week = $_POST['week']; 
$year = $_POST['year']; 
$day = $_POST['day']; 
$hour = $_POST['hour']; 
$queryinsert = mysqli_query($dblink2, "INSERT INTO calendario       (Username, week, year, day, hour) VALUES ('$Username','$week','$year','$day','$hour')"); 
if($queryinsert) 
{ 
header("location: index.html"); 
} 
mysqli_close(); 
?> 

Auf diese Art und Weise in meiner Datenbank Ich habe nur das:

pic1

Wie Sie mich 0 für Werte zu sehen bekommen, die in meiner Haupt-Seite und null von Werten sein sollen ich innen definieren meine Form.

Vollansicht der Seite:

pic2

Wie Sie sehen können URL week und year bekannt sein sollte und Username nur in der Nähe des Logout-Button gedruckt wird.

+0

Ich wollte versuchen, Ihre HTML-Einzüge zu beheben, und erkannte Sie haben alle Arten von Tags vermasselt. Beispielsweise schließen Sie die Tabelle vor dem Formularende, aber nach dem Formularstart wurde die Tabelle nicht geöffnet. Sie sollten damit beginnen, Ihren HTML-Code zu korrigieren und den richtigen Einzug zu verwenden. –

+0

Vergessen, hier einen Teil des Codes zu kopieren (diejenigen, die sich auf die erste Zeile der Tabelle beziehen). Leider Einzüge ist der einzige Teil funktioniert gut –

+0

Sie haben eine * Menge * von Fehlern - https://validator.w3.org/nu/ – Quentin

Antwort

0

Warum verwenden Sie Werte im Attribut name?

Bitte ändern Sie diese ...

<input type="hidden" name="Monday"> 
<input type="hidden" name="9.00"></td> 
<input type="hidden" name="$Username"> 
<input type="hidden" name="$week"> 
<input type="hidden" name="$year"> 

zu diesen ersten

<input type="hidden" name="day" value="Monday"> 
<input type="hidden" name="hour" value="9.00"></td> 
<input type="hidden" name="Username" name="MyUsername"> 
<input type="hidden" name="week" name="53"> 
<input type="hidden" name="year" name="2016"> 
+0

Hallo danke für die Antwort. Ok mit Werten kann ich Daten in meine Datenbank einfügen, aber 1) meinst du name = "woche" value = "53" richtig? 2) Benutzername Woche und Jahr kann sich von Woche 53 zu Woche 1 und Jahr 2017 ändern. Wie kann ich das adaptiv machen? dachte, dass, da diese Werte in meinen Jahr- und Wochenvariablen gespeichert sind, ich diese verwenden könnte –

Verwandte Themen