22
Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

Tutorium zur LV Online Research

  • Upload
    peta

  • View
    29

  • Download
    2

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Tutorium zur LV  Online Research

Tutorium zur LV Online Research

Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

Page 2: Tutorium zur LV  Online Research

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

Page 3: Tutorium zur LV  Online Research

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

Page 4: Tutorium zur LV  Online Research

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>

Page 5: Tutorium zur LV  Online Research

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>

Page 6: Tutorium zur LV  Online Research

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>

Page 7: Tutorium zur LV  Online Research

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>

Page 8: Tutorium zur LV  Online Research

PHP (für dynamische Webseiten

PHP-Server (Gerda) .php

<?php ?>

Weitergabe von Variablen Datenspeicherung ID-Vergabe

Page 9: Tutorium zur LV  Online Research

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

Page 10: Tutorium zur LV  Online Research

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>

Page 11: Tutorium zur LV  Online Research

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

Page 12: Tutorium zur LV  Online Research

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;?>">

Page 13: Tutorium zur LV  Online Research

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);

Page 14: Tutorium zur LV  Online Research

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

Page 15: Tutorium zur LV  Online Research

Datenbank

SQL-Datenbank http://gerda.univie.ac.at/

phpmyadmin/

Abspeicherung erfolgt eine Seite verzögert!!

Abspeicherung in Tabellenform

nid alt geschl

1 55 w

2 23 m

3 52 w

4 77 m

Page 16: Tutorium zur LV  Online Research

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)

Page 17: Tutorium zur LV  Online Research

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

Page 18: Tutorium zur LV  Online Research

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); ?>

Page 19: Tutorium zur LV  Online Research

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); ?>

Page 20: Tutorium zur LV  Online Research

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

Page 21: Tutorium zur LV  Online Research

Achtung!!

Adaptives gut überlegen Speicherung, Verlinkung... Überprüfen!!!! Eingabezwang, falls vorhanden

Ganz zum Schluss

Page 22: Tutorium zur LV  Online Research

Fragen?

Nächster Termin 11.05.2005

http://homepage.univie.ac.at/barbara.strassnig