Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.
-
Upload
stefanie-kraus -
Category
Documents
-
view
214 -
download
0
Transcript of Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.
Tutorium zur LV Online Research
Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.
Zeitplan für heute PHP vs Javascript
Vor- & Nachteile Eingabezwang,... PHP: Verzweigung, Seitennummern
Speicherung Textfiles Datenbank
Erstellen einer Datenbank PHP-Befehle für die Datenbank
PHP vs Javascript Server-seitig Code nicht sichtbar
(wird vom Server in HTML ausgegeben)
.php braucht einen eigenen Server (gerda)
Adaptive Untersuchungen
Client-seitig Code ist sichtbar Folgt HTML-Regeln Auf den Inhalt von
Eingabefeldern kann sofort zugegriffen werden. (z.B. für Eingabezwang
Eingabezwang - Textfeld<script language="JavaScript"> function CheckEnter() { if(document.f1.alter.value == "")
{ alert("Beispieltext: Diese Angabe ist sehr wichtig!"); document.f1.alter.focus(); return false; } return true; } </script>
Eingabezwang - Radios<script language="JavaScript"> function CheckEnter() { If ((document.f1.geschl[0].checked!=true)
&&(document.f1.geschl[1].checked!=true)) { alert("Diese Angabe ist wichtig!"); document.f1.geschl[0].focus(); return false; } return true; } </script>
Eingabezwang -Auswahlliste<script language="JavaScript"> function CheckEnter() { if (document.f1.bundl.value == "0")
{ alert("Bitte geben Sie das Bundesland an, wo Sie aufgewachsen sind!"); document.f1.bundl.focus(); return false; } return true; } </script>
Sonstige JS-Anwendungen „Zurück-Button“ weglassen
<SCRIPT LANGUAGE="JavaScript">function StartFB(){ window.open („seite.php", "Untersuchung", "toolbar=no , hotkeys=no, location=0, status=yes, menubar=no, resizable=1, scrollbars=yes") }</script>
<form method=post action=“seite.php" name=f1 onSubmit="function StartFB();">
<a href="javascript:StartFB()">Fragebogen</a>
PHP (für dynamische Webseiten PHP-Server (Gerda) .php
<?php ?>
Weitergabe von Variablen Datenspeicherung ID-Vergabe
Seitennummern PHP-Variable kann auch als "normaler" Text
in einem Browser aufscheinen <?php
$Seitennummer = $Seitennummer+1;?> erhöht die Variable immer um 1
<input type="hidden" name="Seitennummer„value=" <?php echo $Seitennummer;?> ">
<?php echo $Seitennummer; ?> von 10
Verzweigungen <?php ...?> if ($variable=="1"){$adapt=„Seite1.php"; include(„Seite1.php");}
elseif($variable==„2"){$adapt=„Seite3.php"; include(„Seite3.php");}
else {$adapt="ende.php"; include(„ende.php");}
<form method=post action="<?php echo $adapt;?>" name=f1>
Speicherung - Textfiles Name.txt online stellen
Jede Seite braucht ein eigens .txt-file! Berechtigungen richtig setzen
Lesen und schreiben erlauben (666) Php-Code in die .php-Seite einbauen
Jede Versuchsperson braucht eine eindeutige Nummer (nid), um die Angaben später richtig zuordnen zu können Zufallszahl
Zufallszahl Auf der 1. Seite:
<?php$nid=date("YmdHis");nid.=substr($HTTP_SERVER_VARS['REMOTE_ADDR'], -2);$nid=str_replace('.','',$nid);srand ((double) microtime() * 1000000);$nid .= rand(1000,9999);?>
Dieser Befehl muss auf jeder Seite! weitergegeben stehen (gibt die nid weiter):
<input type="hidden" name="nid" value="<?php echo $nid;?>">
PHP-Code <?php ...?> $fp=fopen("name.txt","a");
fputs($fp,"$nid");fputs($fp,";");fputs($fp,"$Variablenname1");fputs($fp,";");fputs($fp,"$Variablenname2");......fputs($fp,"\n");
fclose($fp);
Speicherung - Datenbank Erstellen einer Tabelle PHP-Code in die HTML-Seiten einfügen
HTML wird zu PHP (eigener Server!!) Anlegen einer neuen Zeile Werte hinzufügen
Datenbank SQL-Datenbank
http://gerda.univie.ac.at/phpmyadmin/
Abspeicherung erfolgt eine Seite verzögert!!
Abspeicherung in Tabellenform
nid alt geschl1 55 w2 23 m3 52 w4 77 m
http://gerda.univie.ac.at/phpmyadmin Feld- Benennung der Variable
<input type="radio" name="geschl" value="1" > Achtung: alter ist ein eigener SQL-Befehl und
daher nicht als Variablenbezeichnung geeignet!
"Typ" VARCHAR: Zahlen, Buchstaben und
Sonderzeichen, max. Zeichenlänge 255 TEXT: können mehr als 255 Zeichen erfassen INT: erfasst nur Zahlen (geeignet für ID)
http://gerda.univie.ac.at/phpmyadmin Länge/Set: Zahl der abgespeicht. Zeichen Besonderheiten bei der ID:
Bei ID muss "not null" ausgewählt werden. Bei "Extras" autro-increment auswählen - ID
wird bei einer neuen Zeile jeweils um 1 erhöht Die ID muss weiters als "Primärschlüssel"
markiert werden.
"Struktur-Ansicht„: nachträgliche Bearbeitung möglich
PHP-Befehle<?php $db = mysql_connect("localhost","user","passwort")or die ("Konnte keine Verbindung zur Datenbank herstellen bitte informieren Sie mich!!!!");
mysql_select_db("Tabellenname",$db); $sSql = "INSERT INTO Tabellenname (datstart) values('".date('Y.m.d H:i:s')."')" ;
$result = mysql_query($sSql);$sSql = "SELECT max(nid) nid FROM Tabellenname ";$result = mysql_query($sSql); $nid=mysql_result($result,0,"nid");... $db_close = mysql_close($db); ?>
PHP-Befehl<?php
$db = mysql_connect("localhost","user","passwort") or die ("Konnte keine Verbindung zur Datenbank herstellen bitte informieren Sie mich!!!!");
mysql_select_db("Tabellenname",$db);&$sSql = "UPDATE Tabellenname set spaltenname='$variablenname'
WHERE nid=$nid" ;$result = mysql_query($sSql);...führt den Befehl durch
$db_close = mysql_close($db); ?>
Vorgehensweise Erstellen einer guten Vorlage
Schon vorhanden Alle Items einfügen
Values,.. Überprüfen Verlinkung PHP Seitennummer,... Tabelle in Datenbank erstellen PHP-Codes für Datenbank einfügen
Achtung!! Adaptives gut überlegen Speicherung, Verlinkung... Überprüfen!!!! Eingabezwang, falls vorhanden
Ganz zum Schluss
Fragen?
Nächster Termin 11.05.2005
http://homepage.univie.ac.at/barbara.strassnig