Daten aus Formular in Array werden nicht in DB geschrieben :(

Nein Mozilla benutze ich nur.

Innen geht es aussen gibt es den oben genannten Fehler weil er innen die Variable Session User nicht kennt.
 
War das mit innen/außen nicht genau umgekehrt?

Und es geht mir nicht um eine User-Variable oder sonst was.
Du sollst den Returnwert der Funktion session_id() ausgeben lassen. Nach session_start()
Die Funktion gibts ganz sicher, innen und außen.
 
innen: hatnpneen6reom37iqd27gdm87
aussen: auuvrngrc20rafp5po4cunato

was bedeutet das ?

PHP:
echo session_id();
echo '<h2>Willkommen '.$_SESSION['user'].'</h2>';

Diese 2 Zeilen bewirken:

innen:
hatnpneen6reom37iqd27gdm87
Willkommen Test
aussen:
auuvrngrc20rafp5po4cunato6
Notice: Undefined index: user in /customers/b/3/5/mirkolinho.de/httpd.www/Check.php on line 6

Das heißt das ihm innen dann "Test" unbekannt ist.
 
Du bringst innen/außen im selben Post durcheinander :)

Gibts im Code eventuell irgendwo ein session_name?
Blockt dein Browser Cookies?
Wenn du das Gezeigte noch einmal ausführst, kommen wieder die selben Werte oder andere?
Gibt es ein Cookie PHPSESSID? Was steht drin?

Bitte keine Doppelposts, sondern den Bearbeiten-Button verwenden.

edit: Mmh
 
Achja richtig genau andersrum natürlich.

Meinst du die cookies?

if($c == 'logout'){
unset($_SESSION['userid']);
unset($_SESSION['user']);
setcookie("U46285", NULL , time()-3600);
setcookie("P45212", NULL , time()-3600);
header('Location: ./');
exit;
}

ein Session_Name gibt es nicht.
Cookies werden nicht geblockt.
Kommen immer die selben Werte.
 
Du arbeitest wohl auch hier wie in deinem anderen Beitrag mit Variablen, z.B. $c die es so nicht gibt sondern nur als $_GET-Variable.

Ist jetzt nur eine Vermutung weil ich es eben im anderen Beitrag entdeckt habe.
 
OK, alles klar (seufz...das war eine Sucherei...)

Das Problem liegt nur an deinem Seitenaufruf.
Du nimmst mirkolinho.de. Davon die Save.php
Wenn PHP aber auf die Check.php verweist nimmt es www.mirkolinho.de.
Für den Browser sind das verschiedene Domains, also verschiedene Session.

Wenn du dein Seite im Browser mit www. aufrufst funktioniert es.
Mit ModRewrite kann man bei Bedarf was machen,
dass Aufrufe ohne www zu denen mit www umgeleitet werden.

PS:
Log dich einmal komplett von deiner Seite aus und lösch die Cookies.
(und dann wieder einloggen). Zum Ändern der SessionID
Herausgefunden hab ich das nämlich, weil ich deine SessionID verwendet habe
(die du hier ja gepostet hast) und damit den Login umgangen bin :D
Soll ja nicht jeder ab jetzt machen...
 
Super danke, da wäre ich ja nie drauf gekommen ^^

das mit dem htaccess funktioniert nun auch super ;)

Nun hab ich noch 2 Fragen:

1. Bei dem unteren Quelltext habe ich versucht, 2 einzeln funktionierende Funktionen zusammenzufügen.
Zum einen die Auswahl per Formular an eine Emailadresse zu senden und zum anderen es in die Datenbank zu schreiben.
Die Funktion schickt nun die Email aber geht nicht mehr in die Datenbankfunktion zum schreiben. Hab ich was übersehen oder falsch gemacht?

2. Nach der Auswahl wird am Ende ein Echo ausgegeben, mit der Auswahl die man getroffen hat. Kann man diese auch am Anfang der Seite anzeigen lassen oder muss sie, bedingt durch den Quelltextablauf immer ganz unten am Ende der Seite stehen?
Eventuell könnte man ja die Checkboxen ausblenden nach dem Absenden ?

Danke

PHP:
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', TRUE);
session_start();
echo '<h2>Willkommen '.$_SESSION['user'].'</h2>';
?>
<form method="post" action="http://www.mirkolinho.de/cgi-bin/FormMail.pl" accept-charset="ISO-8859-1" onsubmit="var originalCharset = document.charset; document.charset = 'ISO-8859-1'; window.onbeforeunload = function () {document.charset=originalCharset;};">

   <!-- Textfeld für ein Formular zur Eingabe des Namen-->
<body bgcolor="#008000">
    <input type="hidden" name="sent" value="yes">
    <!-- Hinweise -->
    <p align="left"><font size="+0">                                    <br />
    Die Teamauswahl muss bis zum Anpfiff des ersten Spiels erfolgen. Beachte dabei folgendes:<br />
    Erster Auswahlkasten -&gt; 11 Spieler + 4 Ersatzspieler (je Position einen) für Effektivität nominieren<br />
    Zweiter Auswahlkasten -&gt; 11 Spieler +  4 Ersatzspieler (je Position einen) für Maximale Punke nominieren<br />
    Gewertet werden automatisch die besten 11 Spieler<br />
    Das System gibst du selbst vor, bei einem 4-3-3 System brauchst du zum Beispiel 2 Torhüter, 5 Abwehrspieler, 4 Mittelfeldspieler und 4 Stürmer:<br />
    Für jede Position also genau einen Ersatzspieler mehr!<br />
    Das Team sollte für jeden Spieltag neu ausgewählt werden, damit es an den aktuellen Spieltag angepasst und optimiert ist!<br />
    </font></p>
    <!-- Checkboxen für Mehrfachauswahl -->

<p align="center">&nbsp;</p>
<p><b><font size="+3">Torwart:</font></b><br />
<input type="checkbox" name="spieler[]" value="Manuel Neuer" />Manuel Neuer - Bayern - Torwart (TW) - 30.000.000 €<br />
<input type="checkbox" name="spieler[]" value="Marc-André ter Stegen" />Marc-André ter Stegen - Gladbach - Torwart (TW) - 11.000.000 €<br />

    <p>&nbsp;</p>
    <!-- Weitere Textfelder einfügen-->
    <p>Aufstellungsformation und Hinweise:</p>
    <textarea name="bemerkungen" rows="6" cols="30"></textarea>
    <p>&nbsp;</p>
    <!-- Einbau des Submit Buttons zu abschicken des Formulars -->
    <p>Bitte vor dem Absenden prüfen, ob du für jede Elf 15 Spieler ausgewählt hast!</p>

<input type="submit" value="Aufstellung senden" />
<input type="hidden" name="recipient" value="aufstellungen@mirkolinho.de" />
<input type="hidden" name="subject" value="Aufstellung" />
<input type="hidden" name="redirect" value="http://www.mirkolinho.de/Send_Write.php" />
<input type="hidden" name="missing_fields_redirect" value="http://" />
<input type="hidden" name="required" value="" />

</form>
<?php

if (isset($_GET['sent']) and $_GET['sent'] == 'yes') {

//Verbindung herstellen
$db = mysql_connect("xxx.de.mysql", "xxx_de", "xxx") or die ("Keine Verbindung möglich: ".mysql_error());
mysql_select_db("xxx_de",$db) or die ("Keine Verbindung möglich: ".mysql_error());

    for ($a = 0; $a < count($_GET['spieler']); $a++) {
         $val[] = "('" .mysql_real_escape_string($_SESSION['user']) ."', '" .mysql_real_escape_string($_GET['spieler'][$a]) ."')";
    }
    $values = implode(', ', $val);

    $sql1 = "INSERT INTO kader (username, spielerid) VALUES " .$values;
    //$sql_delete = "DELETE FROM kader WHERE user = '" .mysql_real_escape_string($_GET["user"] ."'";
    //mysql_query($sql_delete);
    mysql_query($sql1);
    echo $sql1;

    //Verbindung beenden
mysql_close($db);

echo '<h1>Ihre Mannschaft &quot;'.$_SESSION['user'].'&quot;:</h1>';
echo '<p>Spieler:<br><br>' .implode(", ", $_GET["spieler"]) .'</p>';

}
?>
</body>
 
Zuletzt bearbeitet:
Zurück