if- Abfrage klemmt

inspiron8

Mitglied
Hallo,
ich habe ein Problem mit einer IF Abfrage.
Nach Auswahl eines Datum's in einem Kalender sollen zwei Buttons im Tabellenkopf angezeigt werden, wenn "$_SESSION['Button'] = '';" mit einem Wert gefüllt ist, wenn leer dann keine Button anzeigen.

Das Problem:
Klick im Kalender, die Button's erscheinen egal ob "$_SESSION['Button'] = '';" mit einem Wert gefüllt ist oder nicht.
Kontrolle mit: "print_r($_SESSION);" :(


PHP:
<?php
$_SESSION['Button'] = "";// Session Button leeren ************!---Test---************!
	
	if ($_SESSION['Button'] == "") {
	echo "<td ><div id=\"IButton_print\" >Drucken </div></td>";
	echo "<td ><div id=\"IButton_mail\" >Versenden </div></td>";
	echo "</tr>";

	}else{
	
	echo "<td></td>";
	echo "<td></td>";
	echo "</tr>";

echo "</table>";


	$sql = "
		SELECT * FROM Tabelle 
	WHERE 
		SCHICHT = '" . mysql_real_escape_string($_SESSION['schicht']) . "' 
	AND 
		DATUM = '" . mysql_real_escape_string($_POST['mysql_datum']) . "' 
	ORDER BY ID DESC;";

$abfrageergebnis = mysql_query( $sql, $conID );
while ($datensatz = mysql_fetch_array( $abfrageergebnis )) 
{
$_SESSION['Button'] = $datensatz['SENDUNG'];

// Tabelle erstellen fuer die Ausgabe 

// Hier wird eine Tabelle gefetcht
}

  echo "<pre>";
  print_r($_SESSION);
  echo "</pre>";
?>
 
Zuletzt bearbeitet:
Viel Code, Hundertausend Echo, Code nicht formatiert.

Sorry, ich finde auf Anhieb grad keinen if() da drin. ich müsste wohl mit Textsuche dahinter.

Nachtrag:
Ist $_SESSION['Button'] wirklich "" oder ists gar nicht gesetzt? Überprüfe sonst mal mit isset()
 
Moin,

doofe Frage evtl. aber startest du diesen Sessions auch mit session_start(); ?

session_start(); = Ja!

Ich hatte im Code oben zuviel weg gelöscht!

PHP:
<?php
$_SESSION['Button'] = ''; // Session Button leeren ************!---Test---************!

echo "<table>";

if ($_SESSION['Button'] == "") {

	echo "<td><div id=\"IButton_print\">Drucken </div></td>";
	echo "<td><div id=\"IButton_mail\">Versenden </div></td>";
	
}else{
	
	echo "<td></td>";
	echo "<td></td>";

}

echo "</table>";

while ($datensatz = mysql_fetch_array( $abfrageergebnis )) 
{
$_SESSION['Button'] = $datensatz['SENDUNG'];
// Tabelle erstellen fuer die Ausgabe 
}

echo "<pre>";
  print_r($_SESSION);
echo "</pre>";
?>

Seite neu geladen:

keine Button's sichtbar

Array
(
[Button] =>
.
.
.
)

klick Kalender:

Button's werden angezeigt

Array
(
[Button] => Sendung
.
.
.
)

klick auf ein Datum in der Zukunft:

Button's bleiben angezeigt

Array
(
[Button] =>
.
.
.
)
 
Zuletzt bearbeitet:
Prüfe mal die 3 Tests mit var_dump($_SESSION['Button']); statt mit print_r.
Bin auf das Ergebnis gespannt.

Gruß
 
Prüfe mal die 3 Tests mit var_dump($_SESSION['Button']); statt mit print_r.
Bin auf das Ergebnis gespannt.

Gruß

Seite neu geladen:

keine Button's sichtbar

string (0) ""

klick Kalender:

Button's werden angezeigt

string (11) "Sendung"


klick auf ein Datum in der Zukunft:

Button's bleiben angezeigt

string (0) ""

Also ich verstehe es nicht.
Wenn ich "$_SESSION['Button']" manuell einen Wert gebe, dann geht's.

PHP:
//if ($_SESSION['Button'] == "1234" {
if ($_SESSION['Button'] == "" {

    echo "<td><div id=\"IButton_print\">Drucken </div></td>";
    echo "<td><div id=\"IButton_mail\">Versenden </div></td>";
    
}else{
    
    echo "<td></td>";
    echo "<td></td>";

}

$_SESSION['Button'] = "1234";

Hallo,
ich komme nicht weiter und brauche bitte noch einmal eure Hilfe.
Folgendes möchte ich umsetzen:

Nach Außwahl eines Datums in einem Kalender sollen alle passenden Daten aus einer DB geladen werden.
Mit Zwei Buttons die im oberen Bereich der Tabelle angeordnet sind wird ein pdf erstellt. Das funktioniert!!

Damit die Buttons unsichtbar bleiben wenn ein Datum in der Zukunft angklickt wird, brauche ich eine entsprechende Abfrage.

Das möchte ich mit dem Wert aus "$datensatz['SENDUNG'];" realisieren.

In diesem Test.php zeigt mir var_dump($_SESSION['Button']); das genau so wie ich es möchte.

"Nur die Button's wollen nicht so wie ich möchte" :rolleyes:
PHP:
 <?php
session_start(); 

    echo "<table>";    

//if ($_SESSION['Button'] == "") {
if (isset($_SESSION['Button'] )) {

    echo "<td ><div id=\"IButton_print\" >Drucken </div></td>";
    echo "<td ><div id=\"IButton_mail\" >Versenden </div></td>";

}else{
    
    echo "<td></td>";
    echo "<td></td>";
}

    echo "</table>";


    $sql = "
        SELECT * FROM Tabelle 
    WHERE 
        SCHICHT = '" . mysql_real_escape_string($_SESSION['schicht']) . "' 
    AND 
        DATUM = '" . mysql_real_escape_string($_POST['mysql_datum']) . "' 
    ORDER BY ID DESC;";

$abfrageergebnis = mysql_query( $sql, $conID );
while ($datensatz = mysql_fetch_array( $abfrageergebnis )) 
{
$_SESSION['Button'] = $datensatz['SENDUNG'];

// Tabelle erstellen fuer die Ausgabe 

// <td > Hier wird eine Tabelle gefetcht </td>";
}

  echo "<pre>";
  var_dump($_SESSION['Button']);
  echo "</pre>";
?>

Hallo,
ich habe heute Vormittag nochmal probiert, wenn ich die Button's mit der Abfrage "if ($_SESSION['Button'] == "") { " unterhalb der Tabelle plazieren würde, dann funktioniert es.
Was kann ich denn jetzt machen?

Gruß
 
Zuletzt bearbeitet von einem Moderator:
Zurück