• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Formular absenden und CSS ändern?

Curved

Neues Mitglied
Hallo zusammen,

ich stehe gerade etwas auf dem Schlauch. Ich habe auf meiner Webseite ein Formular, das ganz normal abgesendet werden soll. Sobald dies geschehen ist, möchte ich zurück auf meine Startseite geleitet werden (kein Problem) und dort dann aber eine CSS-Klasse auf display: block; setzen.
Ich habe versucht das über ein onClick() des Submit-Buttons zu lösen, da aber beim Absenden des Formulars die Seite neu geladen wird, steht die Klasse wieder auf display: none;.

Vielleicht geht das auch gar nicht mit PHP, sondern nur mit JS? (Dann wäre ich hier natürlich im falschen Bereich...)

Vielen Dank für eure Ideen,

Curved
 
Werbung:
Setze dir eine Session-Variable, wenn das Formular gesendet wurde, dann kanst du damit auf deiner Startseite prüfen, was zu tun ist.
 
Vielen Dank schonmal für den Ansatz! Es funktioniert allerdings noch nicht ganz.
Die Formularverarbeitung läuft über ein separates php-Dokument. Jetzt muss ich wahrscheinlich der index und der formular.php beibringen gegenseitig die Session-Variable zu verwenden oder?

Aktuell habe ich in der index.php:
PHP:
<?php
session_start();
?>

<!doctype html>
...
<body>

<?php
  if (isset ($_SESSION["feedback"])) {
  echo "<div id='daten' style='display:block'>";
  } else {
  echo "<div id='daten' style='display:none'>";}
?>

und in der formular.php:
PHP:
<?php
  $_SESSION["feedback"] = "1";
?>

Was fehlt denn noch, damit das funktioniert, oder bin ich gerade ganz auf dem Holzweg?

Curved
 
Werbung:
Vielen Dank schonmal für den Ansatz! Es funktioniert allerdings noch nicht ganz.
Die Formularverarbeitung läuft über ein separates php-Dokument. Jetzt muss ich wahrscheinlich der index und der formular.php beibringen gegenseitig die Session-Variable zu verwenden oder?

Aktuell habe ich in der index.php:
PHP:
<?php
session_start();
?>

<!doctype html>
...
<body>

<?php
  if (isset ($_SESSION["feedback"])) {
  echo "<div id='daten' style='display:block'>";
  } else {
  echo "<div id='daten' style='display:none'>";}
?>

und in der formular.php:
PHP:
<?php
  $_SESSION["feedback"] = "1";
?>

Was fehlt denn noch, damit das funktioniert, oder bin ich gerade ganz auf dem Holzweg?

Curved

Du musst überall wo du auf die Session zugreifst auch ein session_start() setzen.

Und wenn du sowieso serverseitig renderst ist es eigentlich sinnlos CSS zu setzen, dann kannst du gleich das ganze Element weglassen.
 
Zuletzt bearbeitet:
Zurück
Oben