Hjælp til PHP

Tags:    php

<< < 12 > >>
Hejsa !!

Jeg er webmaster på en privat hjemmeside oddsligaen.dk, hvor vi har en lille og meget enkelt chat, lavet i PHP.

Jeg ønsker ikke mere grafik og muligheder på chatten, så derfor har jeg svært ved at finde en anden, men jeg mangler tid og dato..

Mit spørgsmål
Er der en her, der nemt og uden for meget bøvl for dig selv :-)
kan tilføje tid og dato i mit chat script ??


Med venlig hilsen
Jacob M



20 svar postet i denne tråd vises herunder
6 indlæg har modtaget i alt 39 karma
Sorter efter stemmer Sorter efter dato
Nå ja, det kan jeg godt se. Så må du ikke fjerne dem. Det er også derfor, at det andet gik galt.

Prøv med:

Fold kodeboks ind/udPHP kode 


og så



Fold kodeboks ind/udPHP kode 




Et bud kan være, at du sætter følgende ind efter linjen $input_text = $_POST["input_text"];

Fold kodeboks ind/udPHP kode 


Måske ønsker du et andet format, men det kan vi tage hvis dette virker.

Og linjen med

Fold kodeboks ind/udPHP kode 


retter du til

Fold kodeboks ind/udPHP kode 


Det er ikke testet, men prøv det :-)



Indlæg senest redigeret d. 26.02.2012 22:26 af Bruger #9814
Du kan prøve at kigge på denne side: http://php.net/manual/en/function.date.php



Nu er jeg ikke PHP programmør, så jeg er ikke sikker på hvad ||||| gør, men prøv i linjen lige inden at skrive:

Fold kodeboks ind/udPHP kode 


og så ret linjen til:

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 26.02.2012 22:37 af Bruger #9814
Når jeg skriver en time, er det jo også inklusive at sætte sig ind i scriptet for en udefra, koble op og hente koden, rette det, smide det op på serveren igen og teste.

Så går en time hurtigt ;-)

I din kode

Fold kodeboks ind/udPHP kode 


Men kort fortalt, lægges det indtastede til din shout-box / chat-box ned i en fil. Så der skal du også gemme dato/tid.

Og så ser det umiddelbart ud til, at det automatisk vil komme med ud i det nederste loop (efter // print shouts) når $shouts[$i] udskrives.



Indlæg senest redigeret d. 26.02.2012 21:43 af Bruger #9814
øhm.... hvorfor kan du ikke selv det?



Jeg ved intet om programering i php.. aner ikke hvor jeg skulle starte !!

Jeg har kigget lidt på kaspers link, men hvordan får jeg det ind i det eksisterende ??

Er det en let opgave ?




Smid koden til din chat her og vi kan evt. fortælle hvor det skal ind. Alternativt kan du betale en times arbejde for at gøre det. Måske en der er viilig til at gøre det for et par flasker god rødvin eller lignende.





Jeg har som sagt ingen ide om hvor meget arbejde der ligger i det ! 1 times arbejde lyder af meget, så er det ihverfald ikke noget jeg selv kan gøre.

Her er scriptet, er det for indviklede..

Ønsker tid og dato efter navnet evt. Jacob - 21:31 26/02/2012

/* ########################## INFO ########################## */
/* ###################### INSTALLATION ###################### */

// a) Adjust the configuration variables to your needs

$file = "shouts.txt"; // Name of the file which
// contains the shouts
$shouts = 20; // Number of shouts to be displayed
$maxlength_name = "20"; // Maximum length of name
$maxlength_text = "250"; // Maximum length of text
$break_name = "15"; // Break name after characters
// without space
$break_text = "15"; // Break text after characters
// without space

// b) Copy this code to your PHP file
// c) Copy your PHP file and the shouts file defined in
// variable $file to your server using ASCII mode
// d) Make the shouts file writable (Windows: adjust
// security, Unix: chmod 777)

/* ###################### INSTALLATION ###################### */
/* ############# SCRIPT (EDIT AT YOUR OWN RISK) ############# */
?>
<p>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<input type="text" value="Navn" name="input_name" maxlength="<?php echo $maxlength_name; ?>" onfocus="if(this.value=='Navn'){this.value='';}" onblur="if(this.value==''){this.value='Navn';}" /><br />
<input type="text" value="Besked" name="input_text" maxlength="<?php echo $maxlength_text; ?>" onfocus="if(this.value=='Besked'){this.value='';}" onblur="if(this.value==''){this.value='Besked';}" /><br />
<input type="submit" value="Send" />
</form>
</p>
<hr />
<p>
<?php
//function to break text after x characters
function str_break($str,$maxlen){
$nobr = 0;
$len = strlen($str);

for($i=0;$i<$len;$i++){
if(($str[$i]!=' ') && ($str[$i]!='-') && ($str[$i]!="\n")){
$nobr++;
}else{
$nobr = 0;

if($maxlen+$i>$len){
$str_br .= substr($str,$i);
break;
}
}

if($nobr>$maxlen){
$str_br .= ' '.$str[$i];
$nobr = 1;
}else{
$str_br .= $str[$i];
}
}

return $str_br;
}

//number of shouts to be displayed
$display = (isset($_GET["show"]) ? "all" : $shouts);

//print links to either show all or specific number of shouts
if($display == "all"){
?><a href="<?php echo $_SERVER["PHP_SELF"]; ?>"></a><?php
}else{
?><a href="<?php echo $_SERVER["PHP_SELF"]; ?>?show=all"></a><?php
}
?>
</p><p>
<?php
//insert new shout
$input_name = $_POST["input_name"];
$input_text = $_POST["input_text"];

//check if form has been submitted
if(isset($input_name) && isset($input_text) && $input_name!="Navn" && $input_text!="Besked" && strlen($input_name)>0 && strlen($input_text)>0){
//get last name and comment
$handle = fopen($file,"r");

while(!feof($handle)){
$row = fgets($handle,999999);
list($tmp_name,$tmp_text) = split("\|\|\|\|\|",$row);

if($tmp_name != "" && $tmp_text != ""){
$last_name = $tmp_name;
$last_text = str_replace("\n","",$tmp_text);
}
}

fclose($handle);

$input_name = str_break($input_name,$break_name); //break name
$input_name = str_replace("<","<",$input_name); //prevent html input
$input_name = str_replace(">",">",$input_name); //prevent html input
$input_name = stripslashes($input_name); //strip slashes

$input_text = str_break($input_text,$break_text); //break text
$input_text = str_replace("<","<",$input_text); //prevent html input
$input_text = str_replace(">",">",$input_text); //prevent html input
$input_text = stripslashes($input_text); //strip slashes

if($last_name != $input_name || $last_text != $input_text){
$handle = fopen($file,"a"); //open shouts file to write (append)
fputs($handle,"$input_name|||||$input_text\n"); //insert name and shout
fclose($handle); //close file handle
}
}

//read shouts file
$names = array(); //array to store names
$shouts = array(); //array to store shouts
$handle = fopen($file,"r"); //open shouts file to read

while(!feof($handle)){ //read row by row
$row = fgets($handle,999999);
list($name,$shout) = split("\|\|\|\|\|",$row);

if($name){
array_push($names,$name);
array_push($shouts,$shout);
}
}

fclose($handle); //close file handle

//reverse arrays so that new lines are first
$names = array_reverse($names);
$shouts = array_reverse($shouts);

//number of shouts to really print
$max = ($display == "all" ? count($names) : $display);

//print shouts
for($i=0;$i<$max && $i<count($names);$i++){
?><p><strong><?php echo $names[$i]; ?>:</strong> <?php echo $shouts[$i]; ?></p>
<?php } ?>
</p>



Det rigtigt, men det jo sådan noget I kan lide ik :D

Jeg ville ønske jeg kunne give et eller andet tilgængæld, men de fleste herinde kan nok langt mere end jeg kan med en computer, en programørs time løn er nok ikke realistisk for mig.

Siden er som sagt til privat side brugt af maks 20 venner og mest for sjov, så er det alt for omfattende må jeg nok droppe det.

For mig at se skal den bare gemme tid og dato fra en server sammen med navn og besked.. og ja så også vise det igen jo ...!!

Jeg havde håbet på det var en smal sag lige at putte ind.

Har du skimmet koden, hva siger du ?



<< < 12 > >>
t