SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

 
 
Themen-Optionen Ansicht
  #1  
Alt 11.02.2015, 13:41:45
tromelow tromelow ist offline
Anfänger
 
Registriert seit: Feb 2007
Beiträge: 20
PHP Formular zeigt neue Daten nur auf manchen (?) Browsern?

Hi, für unseren regelmäßigen Hallenfussballabend wollte ich ein kleines Programm programmieren, wo sich jeder ein- und austragen können soll, so dass die Planung besser klappt.

Auf meinem PC mit Firefox klappt das ganze Script auch sehr gut - auf meinem IE, meinem iPhone und einem Macbook werden die Änderungen, die man auf der Seite per Formular abschickt, aber einfach nicht aktualisert (und irgendwie auch nur manchmal überhaupt abgeschickt. Beim ersten Mal klappt es, danach nicht mehr).

Der Grundaufbau meiner Seite ist so:

Eine Hauptseite, auf der alles dargestellt wird mit insgesamt 3 Formularen (eins zum Erstellen neuer Spieler, eins, um alle Änderungen an bestehenden Spielern zu übermitteln und eins zum Aktualisieren des Kommentar-Textfelds).
Wird ein Formular per Submit-Button abgeschickt, leite ich es auf die entsprechenden Seiten um (new.php, edit.php, comment.php), wo dann der MySQL Eintrag vorgenommen wird und nach 1 Sekunde per meta-Tag auf die Hauptseite zurückverlinkt wird.

Das ist sicherlich nicht die eleganteste Möglichkeit, wenn ich alle Prozesse aber in einer einzigen Datei speichere, muss die Seite erst jedes mal neu aufgerufen werden, bevor die Änderungen der Daten sichtbar werden, weshalb ich das so gelöst habe.

Außerdem klappt es auf meinem Firefox ja auch absolut tadellos, nur alles andere macht scheinbar Mucken.

Ihr könnt euch gern selbst ein Bild machen:

*****

Stört euch nicht an den Textausgaben in der edit.php, die habe ich nur für mich als Fehlerfinder eingebaut und werden später entfernt.

Irgendwie scheinen die Änderungen im Firefox sofort, in den anderen Browsern aber erst verzögert aufzutauchen, so als hätte er eine Untergrenze für Refreshrate der Seite. Sehr merkwürdig.

Falls ihr das für die Lösung des Problems braucht, hier gerne der Code:

fussball.php:
PHP-Code:
<html>
<head>
<title>Fussball Manager</title>
</head>
<body>
<form method="post" action="edit.php">
<table border="1">
<tr>
<th align="left">Name</th><th align="left">Tel.</th><th align="left">E-Mail</th><th align="left">Kommt?</th><th align="left">Nächste Woche?</th><th align="left">Löschen?</th>
</tr>
<?php

$db 
mysqli_connect("...");
if(!
$db)
{
  exit(
"Verbindungsfehler: ".mysqli_connect_error());
}

$abfrage mysqli_query($db"SELECT * FROM Spieler ORDER BY No ASC");
$sicherdiese "0";
$backupdiese "0";
$unsicherdiese "0";

$sichernext "0";
$backupnext "0";
$unsichernext "0";
$tester "0";


while(
$zeile mysqli_fetch_object($abfrage))

{
    
$spielernr $zeile->No;
    
$name $zeile->NAME;
    
$telefon $zeile->TELEFON;
    
$email $zeile->EMAIL;
    
$selected "0";
    
$selected2 "0";

    if(
$zeile->KOMMT == "1") {
        
$kommt "Ja";
        
$sicherdiese++;
        
$selected "1";
    } elseif(
$zeile->KOMMT == "2") {
        
$kommt "Bei Bedarf";
        
$backupdiese++;
        
$selected "2";
    } elseif(
$zeile->KOMMT == "3") {
        
$kommt "Unsicher";
        
$unsicherdiese++;
        
$selected "3";
    } elseif(
$zeile->KOMMT == "0") {
        
$kommt "Nein";
        
$selected "0";
    } else {
        
$kommt "Fehler";
    }


    if(
$zeile->NEXT == "1") {
        
$next "Ja";
        
$sichernext++;
        
$selected2 "1";
    } elseif(
$zeile->NEXT == "2") {
        
$next "Bei Bedarf";
        
$backupnext++;
        
$selected2 "2";
    } elseif(
$zeile->NEXT == "3") {
        
$next "Unsicher";
        
$unsichernext++;
        
$selected2 "3";
    } elseif(
$zeile->NEXT == "0") {
        
$next "Nein";
        
$selected2 "0";
    } else {
        
$next "Fehler";
    }



// NEUE AUSGABE

    
echo "<tr>";
    echo 
'<td><input type="hidden" name="no[]" value="'.$spielernr.'"><input type="text" name="var1[]" value="'.$name.'"></td><td><input type="text" name="var2[]" value="'.$telefon.'"></td><td><input type="text" size="30" name="var3[]" value="'.$email.'"></td><td>';

// Überprüfen des Wertes HEUTE

    
if($selected=="0") {
    echo 
'<select name="var4[]">
        <option value="0" selected>Nein</option>
        <option value="1">Ja</option>
        <option value="2">Bei Bedarf</option>
        <option value="3">Unsicher</option>
        </select>'
;
    } elseif(
$selected=="1") {
    echo 
'<select name="var4[]">
        <option value="0">Nein</option>
        <option value="1" selected>Ja</option>
        <option value="2">Bei Bedarf</option>
        <option value="3">Unsicher</option>
        </select>'
;
    } elseif(
$selected=="2") {
    echo 
'<select name="var4[]">
        <option value="0">Nein</option>
        <option value="1">Ja</option>
        <option value="2" selected>Bei Bedarf</option>
        <option value="3">Unsicher</option>
        </select>'
;
    } elseif(
$selected=="3") {
    echo 
'<select name="var4[]">
        <option value="0">Nein</option>
        <option value="1">Ja</option>
        <option value="2">Bei Bedarf</option>
        <option value="3" selected>Unsicher</option>
        </select>'
;
    }

    echo 
'</td>
        <td>'
;
    
// Überprüfen des Wertes NÄCHSTE WOCHE

    
    
if($selected2=="0") {
    echo 
'<select name="var5[]">
        <option value="0" selected>Nein</option>
        <option value="1">Ja</option>
        <option value="2">Bei Bedarf</option>
        <option value="3">Unsicher</option>
        </select>'
;
    } elseif(
$selected2=="1") {
    echo 
'<select name="var5[]">
        <option value="0">Nein</option>
        <option value="1" selected>Ja</option>
        <option value="2">Bei Bedarf</option>
        <option value="3">Unsicher</option>
        </select>'
;
    } elseif(
$selected2=="2") {
    echo 
'<select name="var5[]">
        <option value="0">Nein</option>
        <option value="1">Ja</option>
        <option value="2" selected>Bei Bedarf</option>
        <option value="3">Unsicher</option>
        </select>'
;
    } elseif(
$selected2=="3") {
    echo 
'<select name="var5[]">
        <option value="0">Nein</option>
        <option value="1">Ja</option>
        <option value="2">Bei Bedarf</option>
        <option value="3" selected>Unsicher</option>
        </select>'
;
    }


echo 
'</td><td><input type="hidden" name="lassen[]" value="ja"><input type="checkbox" name="del[]" value="'.$spielernr.'"></td></tr>';

$tester++;
}
echo 
"<tr><td>Teilnahmen:</td><td></td><td></td><td>".$sicherdiese." (+".$backupdiese.")</td><td>".$sichernext." (+".$backupnext.")</td></tr>";
// Neue Einträge machen
?>
<tr><td></td><td></td><td></td><td></td><td><input type="Submit" name="update" value="Übernehmen"></td></tr>
</form>
<form method="post" action="new.php">
<tr><td><input type="text" name="spieler" value=""></td><td><input type="text" name="tel" value=""></td>
        <td><input type="text" name="mail" value=""></td><td><input type="Submit" name="senden" value="Hinzufügen"></td><td></td></tr>
</form>
</table><br /><br /><br />

<?php 
$abfrage2 
mysqli_query($db"SELECT Text FROM Kommentar WHERE id = '1'");


while(
$comment mysqli_fetch_object($abfrage2)) {
    
$inhalt $comment->Text;
}

?>
<form method="post" action="comment.php">
<textarea name="text" rows="10" cols="80"><? echo $inhalt; ?></textarea>
<input type="submit" name="kommentieren" value="Speichern">
</form>

</body>
</html>
new.php:
PHP-Code:
<html>
<head>
<title>Fussball Manager</title>
<meta http-equiv="refresh" content="1; url=http://www.domain.com/fussball.php">
</head>
<body>

<?php

$db 
mysqli_connect("...");
if(!
$db)
{
  exit(
"Verbindungsfehler: ".mysqli_connect_error());
}

// Spieler hinzufügen

if ($_POST["senden"]) {

    
$spieler $_POST["spieler"];
    
$tel $_POST["tel"];
    
$mail $_POST["mail"];

    
$eintrag "INSERT INTO Spieler (NAME, TELEFON, EMAIL) VALUES 

('$spieler', '$tel', '$mail')"
;
    
$eintragen mysqli_query($db$eintrag);
    

}

?>
edit.php:
PHP-Code:
<html>
<head>
<title>Fussball Manager</title>
<meta http-equiv="refresh" content="1; url=http://www.domain.com/fussball.php">
</head>
<body>

<?php

$db 
mysqli_connect("...");
if(!
$db)
{
  exit(
"Verbindungsfehler: ".mysqli_connect_error());
}

// Einträge ändern

$erase = array();

if (
$_POST["update"]) {

    for(
$k=0$k<count($_POST['no']);$k++){
        for(
$j=0$j<count($_POST['del']);$j++) {
           if(
$_POST['no'][$k] == $_POST['del'][$j]) {
                echo 
$_POST['var1'][$k].' könnte gelöscht werden';
                
$erase[$j] = $_POST['no'][$k];
           }            
        }             
    }
    
$m "0";
      
    while(
$m<=count($erase)) {
        
    
$remove "DELETE FROM Spieler WHERE No = '".$erase[$m]."'";
    
mysqli_query($db$remove);    
    
$m++;
        
    }
        
    for(
$i=0$i<count($_POST['no']);$i++){

        
$var1 $_POST['var1'][$i];
        
$var2 $_POST['var2'][$i];
        
$var3 $_POST['var3'][$i];
        
$var4 $_POST['var4'][$i];
        
$var5 $_POST['var5'][$i];
        
$no $_POST['no'][$i];
        if(
$_POST['del'][$i]) {
            
$del $_POST['del'][$i];
        } else {
            
$del 'fehler';
        }
        echo 
$i.': '.$var1.'+'.$no.'+'.$del.'<br>';

        
$sql "UPDATE Spieler SET NAME = '".$var1."', TELEFON = '".$var2."', EMAIL = '".$var3."', KOMMT = '".$var4."', NEXT = '".$var5."' WHERE No = '".$no."'";
        
mysqli_query($db$sql);
    }

echo 
"<pre>";
print_r($_POST);
echo 
"</pre>"


echo 
"<pre>";
print_r($erase);
echo 
"</pre>";

}

?>
</body>

</html>




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



    for($i=0;$i<count($_POST['no']);$i++){
$sql = "UPDATE Spieler
SET NAME = '".$_POST['var1'][$i]."'
WHERE No = '$_POST['no'][$i]';";
mysql_query($sql);
}



*/ ?>
comment.php:
PHP-Code:
<html>
<head>
<title>Fussball Manager</title>
<meta http-equiv="refresh" content="1; url=http://www.domain.com/fussball.php">
</head>

<body>

<?php

$db 
mysqli_connect("...");
if(!
$db)
{
  exit(
"Verbindungsfehler: ".mysqli_connect_error());
}

if (
$_POST["kommentieren"]) {
    
    
    
$text $_POST["text"];
    
    
$eintrag "UPDATE Kommentar SET Text = '".$text."' WHERE id = '1'";
    
$eintragen mysqli_query($db$eintrag);
    
    
    
    
}


?>




</body>




</html>
Das ist sicherlich alles furchtbar ineffizient, unsicher und insgesamt schlecht geschrieben, aber ich habe mich jahrelang nicht mehr damit befasst und war nie sonderlich gut.

Die Sicherheitsproblematik sollte bei einem einfachen Zeitmanagement-Tool auch nicht so wichtig sein :-)

Danke schon mal für die Hilfe!

Geändert von tromelow (11.02.2015 um 13:52:23 Uhr)
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe gesendeter Formular Daten in html Datei achherrje PHP Grundlagen 4 13.09.2013 08:00:18
Daten aus Formular in eine csv-Datei schreiben manuela.z PHP Grundlagen 1 19.12.2008 21:55:42
HTML Formular mit Daten aus MYSQL Tabelle wolander HTML, CSS und JavaScript Help! 7 30.04.2008 10:15:58
Daten mit PHP in Datenbank Speichern MDG MySQLi/PDO/(MySQL) 2 10.01.2008 23:13:14
PHP Forumlar Daten in .txt speichern Martin PHP für Fortgeschrittene und Experten 5 05.02.2002 11:27:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:25:12 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt